Использование демультиплексора concat
Существует несколько способов объединения / объединения / объединения одного видео с другим. Этот метод использует concat demuxer in ffmpeg
для присоединения титульного видео к основному видео. Хотя есть несколько шагов, у него есть то преимущество, что он не перекодирует видео, к которому вы добавляете заголовок. Таким образом, процесс быстрый и качество сохраняется.
Пример
Просмотрите атрибуты видео, в которое вы хотите добавить титульное видео. В этом примере он называется main.mp4
. При создании титровального видео вам необходимо убедиться, что оно соответствует атрибутам видео, в которое вы хотите добавить заголовок.
ffmpeg -i main.mp4
...
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 988 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Создайте титульное видео. Убедитесь, что заголовок видео соответствует атрибутам основного файла, чтобы его можно было правильно объединить. В этом примере используются исходные фильтры color и anullsr c для создания 5-секундного черного видео и звука без звука, а фильтр drawtext для создания текста:
ffmpeg -f lavfi -i color=size=1280x720:rate=30000/1001:duration=5:color=black -f lavfi -i anullsrc=sample_rate=44100:channel_layout=stereo -vf "drawtext=text='your title':fontcolor=white:fontsize=48:x=(w-text_w)/2:y=(h-text_h)/2" -c:v libx264 -profile:v main -c:a aac -shortest title.mp4
Создать текстовый файл с именем input.txt
. Он будет использоваться демультиплексором concat и перечисляет файлы, которые вы хотите объединить.
file 'title.mp4'
file 'main.mp4'
Наконец, объедините титульное видео с основным видео с помощью демодулятора concat concat :
ffmpeg -f concat -i input.txt -c copy output.mp4
Пакетный режим
ffmpeg
не имеет пакетного режима для автоматического выполнения этого для папки с видео. Тем не менее, это может быть сделано с помощью сценариев оболочки, но это совершенно новый топи c, который заслуживает отдельного вопроса. См. Как конвертировать весь каталог с помощью ffmpeg? для некоторых примеров.