[求助][ffmpeg]擷取影片音訊(aac,m4a,wma..超快,mp3超慢)

Case1:ffmpeg -i input.mp4 -vn -acodec copy -preset ultrafast output.aac/m4a/wma
=>結果:擷取音訊檔案型式用aac/m4a/wma,超快完成,感覺只是把影片音訊檔抓出來而已

Case2:ffmpeg -i input.mp4 -vn -acodec copy -preset ultrafast output.mp3
=>無法完成,錯誤提示:Invalid audio stream. Exactly one MP3 audio stream is required.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

Case3:ffmpeg -i input.mp4 -vn -acodec mp3 -preset ultrafast output.mp3
=>可以完成,但是,超慢,跟Case1完全不能比,似乎不只是把影片音訊檔抓出來

請問高手:Case2要如何修正?or要如何擷取音訊檔案格式是mp3+超快速完成?
千呼萬喚小百姓 wrote:
Case1:ffmpeg -i input.mp4 -vn -acodec copy -preset ultrafast output.aac/m4a/wma)

裡面音軌 要是屬於 aac/m4a/wma 之一, 它就會把它直接 copy 取出來,

千呼萬喚小百姓 wrote:
Case2:ffmpeg -i input.mp4 -vn -acodec copy -preset ultrafast output.mp3
=>無法完成,錯誤提示:Invalid audio stream. Exactly one MP3 audio...

現在影音檔的音軌 幾乎都不是 mp3 , 所以你用 copy mp3 會錯誤,

千呼萬喚小百姓 wrote:
Case3:ffmpeg -i input.mp4 -vn -acodec mp3 -preset ultrafast output.mp3...(恕刪)

因為裡面音軌 不是 mp3. 所以還要先轉碼成 mp3, 所以比較慢..
轉碼, 如果原本是 acc, 就要先解壓acc, 然後再壓成mp3

你可以去抓 MKV Tool Nix, 來看看你的 mp4 裡面的音軌 是用什麼 audio codec 壓的.
https://mkvtoolnix.download/

這個 MediaInfo 可以看各種影音檔的詳細資料..
https://mediaarea.net/en/MediaInfo

MKV Tool Nix,


MediaInfo


裡面有什麼東西, 是不是一清二楚啊?
宅男乙 wrote:
裡面音軌 要是屬於 aac...(恕刪)

真的是aac,謝謝你,沒想到mp3已經開始被默默取代了..
千呼萬喚小百姓 wrote:
真的是aac,謝謝你,沒想到mp3已經開始被默默取代了.. ...(恕刪)

MP3 很老了, VCD MPEG 時代的東西.

DVD 的 MPEG2 , 就開始用 AC3 了..

主要是因為 MP3 對 音軌的規範, 只有 2聲道..
MPEG Audio Layer I/II/III frame header
http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html

所以 Dolby 就去弄了一個 AC3 標準, 因為 5.1 surround sound, 6聲道..
http://www.loc.gov/preservation/digital/formats/fdd/fdd000209.shtml

AC3 & MP3 的 壓縮率 差不多同級..

ACC 是蘋果搞的, 它壓縮率,比 MP3 高1級多一點..

因為你有在用 ffmpeg, 那j這裡官網頁 對音訊壓縮 的 建議值, 可以參考一下
https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio

Recommended minimum bitrates to use

The bitrates listed here assume 2-channel stereo and a sample rate of 44.1kHz or 48kHz. Mono, speech, and quiet audio may require fewer bits.

libopus – usable range ≥ 32Kbps. Recommended range ≥ 64Kbps

libfdk_aac default AAC LC profile – recommended range ≥ 128Kbps; see AAC Encoding Guide.

libfdk_aac -profile:a aac_he_v2 – usable range ≤ 48Kbps CBR. Transparency: Does not reach transparency. Use AAC LC instead to achieve transparency

libfdk_aac -profile:a aac_he – usable range ≥ 48Kbps and ≤ 80Kbps CBR. Transparency: Does not reach transparency. Use AAC LC instead to achieve transparency

libvorbis – usable range ≥ 96Kbps. Recommended range -aq 4 (≥ 128Kbps)

libmp3lame – usable range ≥ 128Kbps. Recommended range -aq 2 (≥ 192Kbps)

ac3 or eac3 – usable range ≥ 160Kbps. Recommended range ≥ 160Kbps

所以我現在都用 opus 壓音軌, 因為最省空間. 32Kbps 就已經 usable 了. 達到 Recommended 只要 ≥ 64Kbps.

因為 opus 最高是固定在 48K/16BIT, 對於 可能再後製的 素材檔, 暫存檔 會比較不適合. 用在 最終成品的 最終那一次壓縮就好了.

錄音原始檔, 後製素材檔, 暫存檔, 還是用 可高取樣率, 高bit 數 的 非失真 flac 比較好, 因為 後製的彈性空間 會比大, 雖然 很肥 很肥 非常肥..
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!