保留輸入解碼器

保留輸入解碼器

我有一個包含 H.264 視訊和 AAC 音訊的 MKV 檔案。對於 FFmpeg,MKV 的預設音訊編解碼器是 AC3,因此如果您執行以下命令

ffmpeg -i infile.mkv -ac 2 outfile.mkv

它將音訊轉碼為 AC3。我可以運行這個命令,一切都很好

ffmpeg -i infile.mkv -ac 2 -c:a libfdk_aac outfile.mkv

但是有一種方法可以說「使用輸入編解碼器」嗎?請注意,這copy將不起作用,因為我正在更改音訊串流。

答案1

據我所知,沒有這樣的選擇。您必須明確、依賴預設值或執行其他腳本。

如果您認為這應該作為一項功能實現,您可以在FFmpeg 錯誤追蹤器(先搜尋看看是否已經存在)。

請注意,輸出容器格式的預設編碼器可能會根據您支援的外部編碼庫而變更。例如,如果您的ffmpeg建置支援 libvorbis,它將使用它而不是 ac3 來進行 mkv 輸出。

ffprobe可能有幫助:

$ ffprobe -v 0 -of flat=s=_ -select_streams a:0 -show_entries stream=codec_name input.mkv
streams_stream_0_codec_name="aac"

當然,這可能用途有限,因為codec_name可能與您想要的編碼器名稱不同。

相關內容