2016-10-17 4 views
1

У меня есть код для добавления водяного знака в видеоролики папки, начиная с минуты 3, но я бы хотел, чтобы он добавлял водяной знак в интервалы, например, каждые 1/3 продолжительность видео, как я мог это достичь?FFMPEG - Динамическое включение водяного знака в зависимости от продолжительности видео

for %%I in ("path\\*.mp4") do ffmpeg.exe -i "%%I" -i Watermark.png -filter_complex "[0:v]scale=iw:ih[v0];[1:v][v0]scale2ref=iw/6:ih/10[logo][0v];[0v][logo]overlay=W-w-3:H-h-3:enable='between(t,3*60,3*60+3)'[v]" -map "[v]" -map 0:a -codec:v libx264 -preset ultrafast -crf 23 -codec:a copy "path\%%~nI.mp4" 
pause 

ответ

0

Get duration using ffprobe:

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4 

Разделить в результате длительность на 3 или умножить на 0,3, чтобы получить 1/3 длительности. Используйте это значение для параметра enable в вашей команде ffmpeg:

enable='between(t,$duration,$duration*2)' 
+0

Спасибо! это, кажется, ответ на мою проблему, хотя я действительно не знаю, как сохранить продолжительность, я пытаюсь запустить код с реализованным ffprobe, но я получаю «Неопределенная константа или отсутствует» («» в разделе разрешения, Я бы очень признателен, если бы вы могли рассказать мне, как или, по крайней мере, перенаправить меня туда, где я мог бы научиться этому. –

+0

@NeoHerakles К сожалению, я могу предоставить вам команды 'ff *' для достижения того, чего вы хотите: вы «Мне нужно разобраться в командных сценариях Widows, потому что в качестве пользователя Linux у меня нет опыта в этом. Поиск * периодической переменной Windows *. Возможно, кто-то сможет отредактировать этот ответ или добавить свой собственный пакетный пакет. – LordNeckbeard

Смежные вопросы