我的测试命令如下:
ffmpeg -i in.mov -vf "drawtext=fontfile=/usr/share/fonts/ttf-bitstream-vera/Vera.ttf: x=(w-tw)/2: y=h-(2*lh)-n: fontcolor=white: fontsize=40: box=1: boxcolor=0x00000000@1: text=" -an -y out.mov
我想在每一帧上显示帧编号。但是,将“text”变量设置为“n”并没有帮助(它显示n)并且%n似乎是新行符号。最让我困惑的是这部分
y=h-(2*lh)-n
效果很好,这意味着它获取当前帧的正确值并相应地向上移动文本。
最佳答案
好的,ffmpeg
中没有此功能,但现在有了。这就是你如何做到的:
...drawtext=text=%{n}:expansion=normal:fontfile=/usr/share/fonts/ttf-bitstream-vera/Vera.ttf:other_options...
注意,扩展应该设置为正常,这不是现在的默认值,但将来应该是默认的(根据ffmpeg文档)。
关于variables - 如何使用ffmpeg在视频的每一帧上显示帧号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13494902/