2016-11-20 4 views
0

Я хочу обрезать видео, а затем конвертировать видео с помощью FFMPEG и поместить водяной знак с несколькими текстами на нем. У меня есть команды для обрезки:FFmpeg: обрезать видео, затем добавить водяной знак с несколькими текстами

ffmpeg -i 1.mp4 -ss 00:00:03 -t 00:03:08 -async 1 -c copy output1.mp4

и водяной знак с текстом размещение

ffmpeg -i 1.mp4 -i watermark_small.png -filter_complex "[0:v][1:v]overlay=10:10, drawtext=enable='between(t,0,12)':fontfile=font.ttf:text='Some text' : fontcolor=black: fontsize=18: box=1: [email protected]:boxborderw=5: x=(w-text_w)/1.15:y=30, drawtext=enable='between(t,14,22)':fontfile=font.ttf:text='Next text' : fontcolor=black: fontsize=18: box=1: [email protected]:boxborderw=5: x=(w-text_w)/1.15:y=30" -codec:v libx264 -preset ultrafast output1.mp4

Может кто-то помочь мне, чтобы объединить их вместе?

+0

Ответ использовать '' -ss' и -t' варианты в вашей второй команды и пропустить первую команду, но ваши длительностей не имеют смысла. Вы хотите комбинировать команды, но вы использовали '-ss' и' -t' для вывода 5 секунд. Но ваша вторая команда включает drawtext от 0-12 и от 14 до 22, но длительность входного файла 'output1.mp4' составляет всего 5 секунд. – LordNeckbeard

+0

@ LordNeckbeard Идея заключается не в времени, а в том, как объединить эти две команды, чтобы создать цепочку фильтров –

ответ

0

Использование

ffmpeg -ss 00:00:03 -t 00:00:08 -i 1.mp4 -i watermark_small.png -filter_complex 
    "[0:v][1:v]overlay=10:10, 
    drawtext=enable='between(t,0,12)':fontfile=font.ttf:text='Some text' : fontcolor=black: 
    fontsize=18: box=1: [email protected]:boxborderw=5: x=(w-text_w)/1.15:y=30, 
    drawtext=enable='between(t,14,22)':fontfile=font.ttf:text='Next text':fontcolor=black: 
    fontsize=18: box=1: [email protected]:boxborderw=5: x=(w-text_w)/1.15:y=30" 
-c:v libx264 -preset ultrafast output1.mp4