【发布时间】:2020-12-21 12:20:29
【问题描述】:
我能够使用ffmpeg -i video.mp4 -vf "select=gt(scene\,0.003),setpts=N/(30*TB)" frame%d.jpg (source) 从视频文件中提取与前一帧不相似的所有帧
我想将帧号叠加到每个选定的帧上。我尝试将drawtext=fontfile=/Windows/Fonts/Arial.ttf: text='frame\: %{frame_num}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1: fontsize=30 添加到过滤器在 select 和setpts 之后,但是 %{frame_num} 返回1, 2, 3, ... (source)
如果我将 drawtext before 放在 select 和 setpts 中,我会得到类似 16, 42, 181, ... 的帧号(这正是我想要的),但是由于场景检测在 之后运行em> 添加文本叠加层,也可以检测到叠加层的变化。
是否可以独立于另一个进行场景检测和叠加? [in] split [out0][out1] 可用于单独应用过滤器,但我不知道如何再次“组合”结果。
【问题讨论】:
标签: select ffmpeg scene drawtext