我想在窗口中使用 ffmpeg 检测没有音频的场景变化。我想要一个命令来检测场景在哪个点发生了变化以及没有音频。
也许你可以检查运动是如何做到这一点的。
运动是检测活动的摄像机监视器。
您可以简单地使用以下命令:
ffmpeg inputvideo.mp4 -filter_complex "select='gt(scene,0.3)',metadata=print:file=time.txt" -vsync vfr img%03d.png
这将只保存时间.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
帧是检测到的镜头从开始更改的序列号。此外,为您的用例适当选择阈值(此处为 0.3(,以获得正确的输出