Многоканальное кодирование AAC mp4 с использованием libav (avconv) или ffmpeg

Я пытаюсь создать четырехканальный файл mp4 с кодировкой AAC для использования ambisonics. Я пытаюсь закодировать 4-канальный амбисонический wav-файл первого порядка в AAC следующим образом:

avconv -i four_channel_input.wav -c:a libfaac -ac 4 four_channel_output.mp4

Это дает мне ошибку

[libfaac @ 0x7f938885a000] Specified channel_layout is not supported
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Удаление опции -ac 4 дает мне 5-канальный файл

Duration: 00:01:21.09, start: 0.021333, bitrate: 218 kb/s
Stream #0:0(und): Audio: aac (LC) [mp4a / 0x6134706D]
  48000 Hz, 5.0, fltp, 215 kb/s (default)

с пустым первым каналом, что явно неоптимально. Чтобы создать сжатые файлы ambisonics, должен ли я использовать отдельный формат, такой как AmbiX (хотя я считаю, что он несжатый)?


person Josh Kopecek    schedule 05.10.2018    source источник
comment
libfaac поддержка удалена уже несколько лет, а это значит, что вы используете очень старую версию ffmpeg. Обновите текущий статический двоичный файл git.   -  person Gyan    schedule 05.10.2018
comment
@Gyan на самом деле я использую libav, а не ffmpeg. Какой рекомендуемый метод кодирования с использованием ffmpeg?   -  person Josh Kopecek    schedule 05.10.2018
comment
@Gyan Отлично! Можете ли вы добавить это в качестве ответа, и я соглашусь?   -  person Josh Kopecek    schedule 05.10.2018


Ответы (1)


С ffmpeg вы можете запустить

ffmpeg -i input.wav -c:a aac -ac 4 -channel_layout 4.0 four_channel_output.mp4
person Gyan    schedule 05.10.2018
comment
Большое спасибо за это @Gyan. Решает много головной боли. Был бы очень признателен, если бы вы тоже проголосовали за вопрос, если считаете, что это уместный вопрос, который поможет другим. Теперь я думаю, действительно ли это лучший контейнер/формат для сжатых ambisonic-файлов! - person Josh Kopecek; 05.10.2018