如何将视频上的文字水印从右上方向右下方垂直滑动?
这是我的命令:
ffmpeg -i /usr/home/test.mp4 -vf "drawbox=x=iw-42:y=0:w=42:h=ih:color=black@0.5:t=80,drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:text='Hello World':fontcolor=white@1.0:fontsize=16: y=(mod(2*n\,h+th)-th):x=w-tw-10" -codec:v libx264 -codec:a copy -strict -2 /usr/home/out.mp4
请帮帮我
答案 0 :(得分:0)
嗯,这可能不是最好的方法。您仍然可以逆时针旋转90度视频,应用文本并顺时针旋转90度视频。这些步骤将为您提供视频中的垂直文本。
您可以使用transpose
或rotate
顺时针和逆时针旋转视频。 Rotating videos with ffmpeg
问题对此有一套很好的解释。
要向视频添加文字,您可以使用drawtext
过滤器。文档自我有一个很好的解释和examples的集合,你可以跟进。
通过使用这两个功能,您可以垂直应用文本。以下命令对您有用。
ffmpeg -i input_video -filter_complex "
[0:v]transpose=2[anticlockwiserotated];
[anticlockwiserotated]drawtext=fontfile=font.ttf: text='Test Text':x=100: y=50: fontsize=36: fontcolor=white:[textapplied];
[textapplied]transpose=1" output_video
在这里,你需要使用filter_complex
,它将应用所需的过滤器并相应地链接它们。 [0:v]
指的是第一个输入源,即视频。而不是font.ttf
,你必须使用字体源的绝对路径。
希望这有帮助!