Как использовать ffmpeg для микширования 5.1 DTS HD MA или Dolby TrueHD для стерео AAC с Dolby Pro Logic II?
Я создаю звуковые дорожки из фильмов, которые можно воспроизводить на устройствах Apple TV и iOS. Ручной тормоз мог понижать звук 5.1 до стерео с матричным кодированием Pro Logic II. Как я могу сделать это с ffmpeg?
Я нашел эту ссылку на ffmpeg Trac, упомянув, что я могу делать матричное кодирование с libswresample
, но дальнейший поиск не показывает, как на самом деле использовать это в командной строке.
Я старался
ffmpeg -i test.mkv -map 0:1 -c libfdk_aac -ac 2 -af aresample -matrix_encoding dplii out.aac
где единственная звуковая дорожка в исходном файле test.mkv
является 5.1-канальной DTS HD MA, но сгенерированный звук AAC, по-видимому, не имеет матричного кодирования.
3 ответа
Согласно ручной записи наaresample
Вы должны предоставить опции ресэмплера в другом формате:
Фильтр принимает синтаксис
[sample_rate:]resampler_options
, гдеsample_rate
выражает частоту дискретизации иresampler_options
это списокkey=value
пары, разделенные ":
".
Это означает, что вам нужно назвать это так:
-af "aresample=matrix_encoding=dplii"
Мой предпочтительный метод состоит в том, чтобы использовать ffmpeg для понижающего микширования DTS в стерео, а затем передать этот вывод на кодировщик командной строки Quicktime AAC (Quicktime - лучший кодировщик AAC в тестах прослушивания).
ffmpeg.exe -report -loglevel verbose -i "videofile.mkv" -map 0:a:0 -f wav -acodec pcm_f32le -ac 2 - | qaac.exe --tvbr 127 --quality 2 --rate keep --ignorelength --no-delay - -o "audioonly.m4a"
Требуется ffmpeg.exe и qaac.exe
Приведем пару ответов здесь, похоже, это лучший ответ:
ffmpeg -i SourceVideoWithFivePointOne.mkv -map 0:1 \
-c libfdk_aac -ac 2 -af "aresample=matrix_encoding=dplii" \
DestinationAudioWithDolbyPLII.aac
А для бонусных баллов, понижающих существующий канал 5.1 до 2-го канала и продвигающих стерео как канал 1, это будет:
ffmpeg -i SourceWithFivePointOne.mkv -c:v copy -map 0:0 -map 0:1 -map 0:1 \
-c:a:0 libfdk_aac -ac 2 -af "aresample=matrix_encoding=dplii" \
-c:a:1 copy \
DestinationVideoWithSurroundAndStereo.mkv