我正在制作一个在线课程,为了避免盗版发行,我想在视频上添加水印(包括个人用户信息),这样它就不能上传到共享网站。现在最难的部分是:我会在视频中移动水印,每30秒以3/4的随机位置移动一次。这有可能吗?
发布于 2016-04-01 18:44:59
编辑:这是对LN链接中的答案的改编,它将每30秒随机设置位置,没有重复:
ffmpeg -i input.mp4 \
-vf \
"drawtext=fontfile=font.ttf:fontsize=80:fontcolor=yellow@0.5:text='studentname': \
x=if(eq(mod(t\,30)\,0)\,rand(0\,(W-tw))\,x): \
y=if(eq(mod(t\,30)\,0)\,rand(0\,(H-th))\,y)" \
-c:v libx264 -crf 23 -c:a copy output.mp4旧答案
您可以使用如下命令:
ffmpeg -i input.mp4 \
-vf \
"drawtext=fontfile=font.ttf:fontsize=80:fontcolor=yellow@0.5: \
text='studentname':x=200:y=350:enable='between(mod(t\,30*3),0,30)', \
drawtext=fontfile=font.ttf:fontsize=80:fontcolor=yellow@0.5: \
text='studentname':x=1000:y=600:enable='between(mod(t\,30*3),31,60)', \
drawtext=fontfile=font.ttf:fontsize=80:fontcolor=yellow@0.5: \
text='studentname':x=450:y=50:enable='between(mod(t\,30*3),61,90)'" \
-c:v libx264 -crf 23 -c:a copy output.mp4在这里,三个位置被旋转,每30秒发生一次改变。每个x:y参数都是手动设置的。如果要从shell脚本调用命令,可以使用随机数生成器并将其输入命令。在绘图文本过滤器中包含了一个随机函数,但是它会对每个帧进行评估,这样就会产生与文本的伪乒乓游戏。
https://stackoverflow.com/questions/36362443
复制相似问题