使用 VLC 场景过滤器捕获所有帧

使用 VLC 场景过滤器捕获所有帧

我正在尝试使用 VLCscene-filter来提取全部视频中的帧mp4。该视频的运行时间为25fps,而且长度正好38s

在命令行中,我运行了以下选项:

--video-filter = scene --start-time = 0 --stop-time = 35 --scene-ratio = 1

我理解(?)场景比率是从总帧中取出的帧的比率(即,保存帧的比率)31/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 代码更新答案。

相关内容