Rimush
@Rimush

Как достать определенный звуковой стереоканал из видео при помощи ffmpeg?

Как достать определенный звуковой стереоканал из видео при помощи ffmpeg?
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
Moskus
@Moskus
Сначала запустить:
ffmpeg -i имя_файла
чтобы получить список stream-ов, который будет выглядеть приблизительно так:
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x800, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(ger): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (default)
    Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s
    Stream #0:3(ger): Subtitle: text (default)

Потом - собственно извлечь:
ffmpeg -i имя_файла -map 0:1 -c:a copy имя_выходного_аудиофайла

Значение параметра -map берёте из списка. В таком варианте, канал будет просто скопирован без изменений. Если вам требуется его еще и пересжать, то нужно вместо -copy задать параметры сжатия.

Для того, чтобы отделить стереоканалы, команда будет такой:
ffmpeg -i имя_аудиофайла -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav

Не уверен, что параметр -map_channel будет работать, если вызвать его прямо для видеофайла, так что, возможно, вам придется сначала извлечь аудиопоток, а потом извлечь из него нужный канал второй командой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы