获取具有相应时间戳的场景更改帧,并将场景评分保存在文本文件中

时间:2018-12-11 09:20:41

标签: python video ffmpeg

我必须使用FFmpeg来检测视频中的镜头变化,还保存检测到的镜头变化的时间戳和分数吗?我该如何用一个命令执行此操作?

  

编辑

我直接跳到用例,因为它是使用FFmpeg直接解决的,不需要原始框架。

1 个答案:

答案 0 :(得分:0)

阅读吨的Q / A之后,我遇到了最好的完美解决方案: 只需使用命令:

ffmpeg inputvideo.mp4 -filter_complex "select='gt(scene,0.3)',metadata=print:file=time.txt" -vsync vfr img%03d.png

这只会将相关信息保存在time.txt文件中,如下所示:

frame:0    pts:108859  pts_time:1.20954
lavfi.scene_score=0.436456
frame:1    pts:285285  pts_time:3.16983
lavfi.scene_score=0.444537
frame:2    pts:487987  pts_time:5.42208
lavfi.scene_score=0.494256
frame:3    pts:904654  pts_time:10.0517
lavfi.scene_score=0.462327
frame:4    pts:2533781 pts_time:28.1531
lavfi.scene_score=0.460413
frame:5    pts:2668916 pts_time:29.6546
lavfi.scene_score=0.432326