FFmpeg: как объединить все аудио потоки в стерео - PullRequest
0 голосов
/ 06 января 2019

В моем видеофайле 4 аудиопотока. Они из 4 микрофонов, размещенных на 4 разных говорящих. Я хочу перекодировать в файл предварительного просмотра, который можно прослушивать в наушниках, где можно услышать голос каждого.

Я видел опцию -ac 2, но не могу сказать, объединит ли это все аудиопотоки или просто выберет первые два. Я также видел фильтр Amerge, но в документах говорится, что в выходном файле будет создано 4 аудиоканала. Поэтому мне интересно, как наушники будут справляться с дополнительными 2 каналами

Ответы [ 2 ]

0 голосов
/ 08 января 2019

У вас есть несколько вариантов. Это предполагает, что каждый отдельный аудиопоток в in.mp4 является моно.

Mono

Использование фильтра amerge и -ac 1:

ffmpeg -i in.mp4 -filter_complex "[0:a]amerge=inputs=4[a]" -ac 1 -map 0:v -map "[a]" -c:v copy out.mp4

С amix :

ffmpeg -i in.mp4 -filter_complex "[0:a]amix=inputs=4[a]" -map 0:v -map "[a]" -c:v copy out.mp4

Stereo

с дополнением и -ac 2:

ffmpeg -i in.mp4 -filter_complex "[0:a]amerge=inputs=4[a]" -ac 2 -map 0:v -map "[a]" -c:v copy out.mp4

Смешанное вручную стерео

Использование amerge и pan с пользовательским понижающим микшированием:

  • Канал 0 будет 100% в FL
  • Канал 1 будет 75% в FL и 25% в FR
  • Канал 2 будет 25% в FL и 75% в FR
  • Канал 3 будет 100% в FR


ffmpeg -i in.mp4 -filter_complex "[0:a]amerge=inputs=4,pan=stereo|FL<c0+0.75*c1+0.25*c2|FR<0.25*c1+0.75*c2+c3[a]" -map 0:v -map "[a]" -c:v copy out.mp4
0 голосов
/ 08 января 2019

Попробуйте amerge audio filter , используемый для решения этого похожего вопроса: Как использовать ffmpeg для объединения всех аудиопотоков (в видеофайле) в один аудиоканал?

amix должно еще лучше соответствовать вашим целям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...