Mengubah Audio ke AAC menggunakan ffmpeg

10

Saya memiliki pengaturan berikut untuk 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

Saya mencoba menggunakan ffmpeg untuk mengkonversi file m4a atau mp3 saya

AAC, Low Complexity Profile (LC)

Benar-benar berjuang untuk menemukan baris perintah yang berfungsi untuk saya, apakah mungkin dengan pengaturan ffmpeg saya?

Terima kasih

pengguna1503606
sumber
kemungkinan duplikat dari ffmpeg: 1 gambar + 1 file audio = 1 video
user1503606

Jawaban:

10

AAC-LC adalah default untuk semua encoder AAC yang didukung oleh ffmpeg.

Contoh:

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

Lihat FFmpeg Wiki: Panduan Pengkodean AAC untuk lebih detail dan contoh.

llogan
sumber
Keren, saya tidak tahu tentang encoder Fraunhofer. Saya menduga tes dilakukan pada bitrate super rendah yang tidak akan pernah saya gunakan, tapi info bagus!
Louis Waweru
2

Untuk menyandikan ulang format apa pun ke AAC-LC dalam wadah ADTS (file .aac) menggunakan enkode AAC asli FFmpegs (terbaik kedua setelah libfdk_aac Fraunhofer yang tidak bebas sesuai dengan https://trac.ffmpeg.org/wiki/Encode/AAC - meskipun tidak mendukung HE-AAC), Anda juga perlu menentukan -strict experimental(atau -strict -2):

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

Saat mengonversi ke .aac dari sumber di m4a / mp4, Anda bahkan tidak perlu menyandi ulang:

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

Catatan : FFmpeg mencoba menebak format output dari nama file output. Jika Anda perlu memaksakan format untuk ADTS (file .aac), gunakan -f adts(misalnya saat bekerja dengan aliran yang disalurkan alih-alih file):

cat input.wav | ffmpeg -i pipe:0 -c:a aac -c:b 128k -f adts pipe:1 ­> output.aac
Bigue Nique
sumber
1
Anda tidak perlu -strict experimentalkecuali Anda menggunakan yang lama ffmpeg.
llogan
@ LordNeckbeard Terima kasih atas pembaruannya! Itu berarti encoder asli telah mencapai tingkat kedewasaan yang memuaskan ...
Bigue Nique
2
Ya, tetapi ada lebih banyak pekerjaan yang direncanakan untuk itu. Lihat juga Encoder FFmpeg AAC asli sekarang stabil!
llogan