我已成功使用-vf select='gte(scene,0.4)',metadata=print:file=shotcuts.txt
命令获取FFMPEG来检测场景变化并将结果输出到文件。是否可以将pts字段强制设置为帧而不是默认值,默认值似乎取决于视频格式(例如AVI文件的帧数,MOV / MP4的纳秒级)?
例如,处理AVI文件以帧为单位输出时间戳:
框架0分151
框架1分206
而MP4文件输出为媒体时间:
框架0分540000
镜架1分738000
答案 0 :(得分:1)
PTS代表演示文稿时间邮票,因此不能在框架内。但是,PTS用timebase表示,因此,如果将时基设置为1 / fps,则PTS和帧索引将重合。这仅适用于帧速率恒定且帧速率为整数的流。
在选择之前使用settb过滤器设置时基。对于30 fps CFR流,
-vf settb=1/30,select='gte(scene,0.4)',metadata=print:file=shotcuts.txt