我正在尝试使用 VLCscene-filter
来提取全部视频中的帧mp4
。该视频的运行时间为25fps
,而且长度正好38s
。
在命令行中,我运行了以下选项:
--video-filter = scene --start-time = 0 --stop-time = 35 --scene-ratio = 1
我理解(?)场景比率是从总帧中取出的帧的比率(即,保存帧的比率)3
。1/3
然而,在~900
我期待的帧中,我只得到了500
它们的相关信息。
我尝试过使用25
、-1
和默认scene-ratio
值,但无济于事。
我究竟做错了什么?文档VLC
对此不是很清楚。
答案1
我无法发表评论,所以我会尝试从这里了解更多信息。
如果你只是想提取帧,那么我可以告诉你其他方法,比如使用 python。我还通过使用 vlc 提取帧进行了检查,它给了我这样的每个帧的错误
[00007fd7d8005430] main video output warning: picture is too late to be displayed (missing 40 ms)
-v
要出现此错误,您只需在代码末尾添加即可。-vv
以获得更详细的输出。所以它应该看起来像这样:
cvlc video.mp4 --video-filter scene --start-time 0 --stop-time 20 --scene-ratio 1 --scene-path Downloads/video -v
我不知道该如何解决。我建议使用 Python 提取所有帧。如果您特别想要此问题的答案,请在下面发表评论,我会删除答案。如果您对 Python 解决方案满意,那么我将使用 Python 代码更新答案。