Можно ли конкатенировать несколько файлов, если некоторые из файлов являются видео с аудио, а некоторые - только аудио. Конечный результат должен выглядеть следующим образом:ffmpeg: concat видео и аудиофайлы
--------------------------------------------------------
|###(v/a)### | ### (a) ### | ### (a) ### | ###(v/a)### |
--------------------------------------------------------
v/a: video + audio
a : audio only (blank screen)
Я пытался сделать это с помощью следующей команды:
ffmpeg
-i chunk1.mp4
-i chunk2.m4a
-i chunk3.mp4
-filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a]"
-map "[v]" -map "[a]" -strict -2 result.mp4
Так что я попытался использовать только звуковую дорожку от входа 1 ([1:a:0]
), но, к сожалению, Я получаю сообщение об ошибке:
Stream specifier ':v:0' in filtergraph description [0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a] matches no streams.
Я подумал, что это должно быть возможно как-то, так как я могу также объединить большой звуковой файл и небольшой видео с помощью FFmpeg. Результатом будет видеофайл, в котором последний кадр просто зависает, но звук все еще воспроизводится. Я хотел бы добиться того же результата либо с замороженным последним фреймом, либо просто с черными кадрами. Это возможно?
Какова резолюция и частота кадров видео? – Mulvya
@ Mulvya Я не знаю разрешения. У всех видеокубков определенно будет одно и то же, но это может варьироваться от задачи к задаче. То же самое касается частоты кадров. Так что, я думаю, мне хотелось бы, чтобы ffmpeg просто применил все, что у других видео-кусков. Если это невозможно, и мне нужно явно указать частоту кадров и/или разрешение, я уверен, что могу прочитать эти параметры вручную через ffprobe. – basilikum