ffmpeg vfilters в определенные временные коды - PullRequest
2 голосов
/ 03 ноября 2010

Я хочу добавить водяной знак в некоторые видео, но я хочу, чтобы водяной знак появлялся только в определенные временные коды в видео (например, начало / середина / конец) и только на несколько секунд.

Я заставил ffmpeg сделать водяной знак, следуя указаниям здесь: http://ffmpeg.arrozcru.org/forum/viewtopic.php?f=8&t=1400

Но я не могу понять, как я могу включить / выключить водяной знак в разных временных кодах. Вот команда, которую я использую для добавления водяного знака:

ffmpeg -i test.mpg -vf "movie=0:png:wm.png [wm];[in][wm] overlay=10:10:1 [out]" wm_test.mpg

Любой совет будет оценен!

1 Ответ

2 голосов
/ 08 марта 2011

Это все еще не реализовано, и я не слышал о планах на это.Я бывал в такой ситуации несколько раз и пришел с некрасивым, но работающим решением.

Просто разделите ваше видео на части, например, ваше видео имеет длину 30 секунд, и вам нужен другой водяной знак дляКаждую 10-секундную часть, а затем разделите ваше видео на 3 части, например:

ffmpeg -i in.mpg -t 00:00:10 // First 10 seconds
ffmpeg -i in.mpg -ss 00:00:10 -t 00:00:10 // middle 10 seconds
ffmpeg -i in.mpg -ss 00:00:20 -t 00:00:10 // last 10 seconds.

-ss // starting position
-t  // length to process

После того, как у вас будет 3 водяных знака с водяными знаками, вы можете просто склеить их.Для mpg вы можете использовать простой инструмент unix CAT из-за формата mpeg.

Например: cat part1.mpg part2.mpg part3.mpg > whole.mpg

...