我正在尝试衡量一部电影“快”的程度(屏幕上的 Action 更多,场景的机会更多)。我不想要电影的单一值,而是电影中的值以查看 Action 在其期间的变化。在标准化电影的帧速率(10 fps)之后,我的想法是将每一帧与前一帧进行比较。我不仅对场景是否改变感兴趣,而且如果没有剪辑,有多少运动。不仅是人/物体的移动,还有相机的移动。总结一下场景的节奏(我认为是这个词)。
我的想法是使用 scene
来自 ffmpeg 的函数作为度量。但是看着document和 examples online我在想我只能使用场景变化检测的值作为阈值来返回帧信息,但我无法让 ffmpeg 返回值。那正确吗?有什么办法可以让它返回值?
最佳答案
利用
ffmpeg -i in.mp4 -vf "select='gte(scene,0)',metadata=print:file=scenescores.txt" -an -f null -
创建的文本文件将具有如下输出:...
frame:1440 pts:737280 pts_time:48
lavfi.scene_score=0.003069
frame:1441 pts:737792 pts_time:48.0333
lavfi.scene_score=0.001593
frame:1442 pts:738304 pts_time:48.0667
lavfi.scene_score=0.000077
frame:1443 pts:738816 pts_time:48.1
lavfi.scene_score=0.002219
...
关于video - FFMPEG:获取所有帧的场景变化检测值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688062/