![](/img/trans.png)
[英]Name of the property that specifies the desired bit rate in CBR audio encoding
[英]ffmpeg how to convert audio to aac but keep bit rate at what the old file used?
我不希望這種情況經常發生,但是當通過批處理文件將視頻文件重新編碼為h265時,我正在檢查以確保音頻在aac中。 如果不是那么我想轉換為aac,但保持比特率在舊文件使用的,因為如果我只是轉換為aac ffmpeg將使用默認的128kbps值。 對於任何舊視頻,我的比特率可能會低於那個,因此上轉換會稍微增加文件大小。
有沒有辦法轉換為aac但保持舊的比特率?
這是我正在嘗試但它不斷將舊的89kbps流轉換為aac 128 kbps:
ffmpeg -i test.mp4 -acodec aac -vcodec copy test.aac.mp4
請注意,以上僅用於測試目的,我實際上正在轉換視頻。
注2:我的問題與其他問題完全沒有相似之處。 我將ffprobe結果存儲在變量中也沒有問題,我甚至沒有提到它。
您可以使用ffprobe
從輸入文件中檢測音頻流的比特率,然后根據該命令的輸出運行相應的FFMPEG命令。
這是一個小的bash腳本,它將檢測音頻流上的比特率,如果它低於128Kbps,只需在轉換過程中使用原始比特率。 這應該避免上采樣:
#!/usr/bin/env bash
AUDIO_BITRATE=`ffprobe -v error -select_streams a:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 $1`
if [[ $AUDIO_BITRATE < 128000 ]]; then
ffmpeg -i $1 -acodec aac -ab ${AUDIO_BITRATE}k -vcodec copy new-$1
else
ffmpeg -i $1 -acodec aac -vcodec copy new-$1
fi
或者,如果您需要轉換為其他視頻格式且未安裝FFMPEG,則可以使用商業轉換API,例如Zamzar 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.