制作跳跃文本水印

时间:2015-05-17 19:38:15

标签: ffmpeg overlay watermark drawtext video-watermarking

我想做这样的事情: http://www.youtube.com/watch?v=AtM-f20XV4E 你可以看到那里每两秒改变位置的水印......

但我需要 drawtext 过滤器。

所以,我已经意识到如何每隔几秒更改一次文本位置.. 但不知道 - 如何保持新的位置:) 我现在有一个代码..

ffmpeg.exe -i myVideo.mov -c:v libx264 -preset veryfast -crf 25 -tune zerolatency -vendor ap10 -pix_fmt yuv420p -filter:v drawtext=fontfile=arial.ttf:text=MY_WATERMARK_TEXT:fontcolor=white:alpha=0.5:fontsize=74:box=1:boxcolor=red:x=if(eq(mod(t\,1)\,0)\,1000\,10):y=(h-text_h-line_h)/2 -c:a copy outVideo.mp4

它每隔1秒将我的文本移动到新位置。但当然会立即改变位置。

所以,我坚持认为..如何保持新的位置? 可能我应该使用ld()和st()?

1 个答案:

答案 0 :(得分:3)

确定。这比我想象的容易......

有一个答案:

ffmpeg.exe -i myVideo.mov -c:v libx264 -preset veryfast -crf 25 -tune zerolatency -vendor ap10 -pix_fmt yuv420p -filter:v drawtext=fontfile=arial.ttf:text=MY_WATERMARK_TEXT:fontcolor=white:alpha=0.5:fontsize=74:box=1:boxcolor=red:x=if(eq(mod(n\,18)\,0)\,sin(random(1))*w\,x):y=if(eq(mod(n\,18)\,0)\,sin(random(1))*h\,y) -c:a copy outVideo.mp4

这是主要部分:

  

X =如果(公式(MOD(N \,18)\,0)\,SIN(随机(1))·W \,X):

     

Y =如果(公式(MOD(N \,18)\,0)\,SIN(随机(1))* H \,y)的

在此示例中,Text_Watermark将在每第18个帧中将位置更改为随机值。