我需要使用ffmpeg for windows将帧编号覆盖到视频文件的每个帧.
我成功地drawtext使用以下代码将过滤器的时间码标记覆盖:
ffmpeg -i video.mov -vcodec r210 -vf "drawtext=fontfile=Arial.ttf: timecode='01\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" -y output.mov
Run Code Online (Sandbox Code Playgroud)
但是,我需要一个帧号覆盖而不是时间码.任何帮助,将不胜感激.
llo*_*gan 38
您可以将drawtext过滤器与nor frame_num函数一起使用:
示例命令:
ffmpeg -i input -vf "drawtext=fontfile=Arial.ttf: text='%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" -c:a copy output
Run Code Online (Sandbox Code Playgroud)
fontfile=/usr/share/fonts/TTF/Vera.ttf.n/ frame_num从0开始,但您可以start_number使用示例中所示的选项使帧计数从1开始.如果需要,您可以添加其他文本,但请注意,您必须转义一些特殊字符:
text='Frame\: %{frame_num}'
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅drawtext过滤器文档.
| 归档时间: |
|
| 查看次数: |
18934 次 |
| 最近记录: |