Я получил следующую команду в FFMpeg:
ffmpeg -i file_input.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4
Эта команда по сути делит мой исходный файл на две части, масштабирует видео в 2 разных формах и перекодирует видеопотоки с использованием кодека x264
. Все идет нормально.
Теперь, пожалуйста, обратите внимание на -map 0:a
флаг. Если я удаляю это из любого из двух потоков, у получающегося выходного файла не будет никакого аудио вообще. Это заставляет меня задуматься, удаляет ли фильтр scale
автоматически звук из букета или это что-то еще.
Если я немного изменю команду на эту и попытаюсь извлечь аудиопоток из результирующего [o1] или [o2], я все равно не смогу получить звук:
ffmpeg -i eFront_sample.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1]:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2]:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4
Что мне здесь не хватает?
Заранее спасибо.