1

我想做这样的事情: 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() 吗?

4

1 回答 1

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=if(eq(mod(n\,18)\,0)\,sin(随机(1))*w\,x):

y=if(eq(mod(n\,18)\,0)\,sin(随机(1))*h\,y)

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

于 2015-05-18T07:31:59.120 回答