使用 ffmpeg 將音訊轉換為 AAC

使用 ffmpeg 將音訊轉換為 AAC

我對 FFmpeg 有以下設定:

ffmpeg version N-54790-g1816f55-syslint Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 17 2013 21:34:32 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
  configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
  libavutil      52. 40.100 / 52. 40.100
  libavcodec     55. 18.102 / 55. 18.102
  libavformat    55. 12.102 / 55. 12.102
  libavdevice    55.  3.100 / 55.  3.100
  libavfilter     3. 81.101 /  3. 81.101
  libswscale      2.  4.100 /  2.  4.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100

我正在嘗試使用 FFmpeg 將我的 m4a 或 mp3 檔案轉換為

AAC, Low Complexity Profile (LC)

我真的很難找到適合我的命令列。我的 FFmpeg 設定是否可以實現?

謝謝

答案1

AAC-LC 是 支援的所有 AAC 編碼器的預設值ffmpeg

例子:

ffmpeg -i input.m4a -codec:a aac output.aac

FFmpeg Wiki:AAC 編碼指南了解更多詳細資訊和範例。

答案2

使用 FFmpegs 的本機 AAC 編碼器將 ADTS 容器(.aac 檔案)中的任何格式重新編碼為 AAC-LC(根據根據,僅次於非自由 Fraunhofer 的 libfdk_aac)https://trac.ffmpeg.org/wiki/Encode/AAC-- 但不支援任何 HE-AAC),您還需要指定-strict experimental(或-strict -2):

ffmpeg -i input.mp3 -strict experimental -c:a aac -b:a 128k output.aac

當從 m4a/mp4 中的來源轉換為 .aac 時,您甚至不需要重新編碼:

ffmpeg -i input.m4a -c:a copy output.aac

筆記:FFmpeg 嘗試從輸出檔名猜測輸出格式。如果您需要強制 ADTS(.aac 檔案)的格式,請使用-f adts(例如,使用管道流而不是檔案時):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac

相關內容