Chuyển đổi âm thanh sang AAC bằng ffmpeg


10

Tôi có thiết lập sau cho 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

Tôi đang cố gắng sử dụng ffmpeg để chuyển đổi các tệp m4a hoặc mp3 của mình thành

AAC, Low Complexity Profile (LC)

Thực sự vật lộn để tìm một dòng lệnh làm việc cho tôi thậm chí có thể với thiết lập ffmpeg của tôi không?

Cảm ơn


Câu trả lời:


10

AAC-LC là mặc định cho tất cả các bộ mã hóa AAC được hỗ trợ bởi ffmpeg.

Thí dụ:

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

Xem FFmpeg Wiki: Hướng dẫn mã hóa AAC để biết thêm chi tiết và ví dụ.


Thật tuyệt, tôi không biết về bộ mã hóa Fraunhofer. Tôi đoán thử nghiệm đã được thực hiện ở tốc độ bit cực thấp mà tôi sẽ không bao giờ sử dụng, nhưng thông tin tốt!
Louis Waweru 13/03/2015

2

Để mã hóa lại bất kỳ định dạng nào sang AAC-LC trong bộ chứa ADTS (tệp .aac) bằng cách sử dụng bộ mã hóa AAC gốc của FFmpegs (tốt thứ hai sau libfdk_aac của Fraunhofer miễn phí theo https://trac.ffmpeg.org/wiki/Encode/AAC - mặc dù không hỗ trợ bất kỳ HE-AAC nào), bạn cũng cần chỉ định -strict experimental(hoặc -strict -2):

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

Khi chuyển đổi sang .aac từ một nguồn trong m4a / mp4, bạn thậm chí không cần phải mã hóa lại:

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

Lưu ý : FFmpeg cố gắng đoán định dạng đầu ra từ tên tệp đầu ra. Nếu bạn cần buộc định dạng cho ADTS (tệp .aac), hãy sử dụng -f adts(ví dụ: khi làm việc với các luồng được thay vì các tệp):

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

1
Bạn không cần -strict experimentaltrừ khi bạn đang sử dụng một cái cũ ffmpeg.
llogan 22/03/2016

@LordNeckbeard Cảm ơn đã cập nhật! Điều đó có nghĩa là bộ mã hóa bản địa đã đạt đến mức trưởng thành thỏa mãn ...
Bigue Nique

2
Có, nhưng có nhiều công việc lên kế hoạch cho nó. Xem thêm Bộ mã hóa FFmpeg AAC hiện đang ổn định!
llogan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.