Есть ли функция добавления заголовка к нескольким видео? FFMPEG - PullRequest
0 голосов
/ 07 апреля 2020

Я начинаю с FFMPEG, чтобы добавить титульное видео к нескольким дюжинам моих видео. Какая команда подойдет для этого?

1 Ответ

0 голосов
/ 07 апреля 2020

Использование демультиплексора 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? для некоторых примеров.

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