捕获视频文件的截图/帧

4 投票
1 回答
7266 浏览
提问于 2025-04-16 09:51

有没有办法用Python抓取视频文件中的单帧画面?
这也可以通过命令行来完成。我正在使用handbrakecli来转换视频,
但我也需要一些视频的截图。

谢谢

1 个回答

7

你首先可以看看 PyFFmpeg

PyFFmpeg 是一个封装了 FFmpeg 的 libavcodec、libavformat 和 libavutil 库的工具,主要目的是让你可以访问各种格式的视频文件中的单个帧(比如 MPEG 和 DIVX 编码的视频)。它还可以让你访问音频数据。

你也可以使用 ffmpeg,通过 subprocess 来调用它。简单搜索一下就能找到提取视频文件中某一帧的命令。只需要用 subprocess 调用这个命令就可以了。

>>> import subprocess
>>> import shlex                          # to split the command that follows
>>> command = 'ffmpeg -i sample.avi'      # your command goes here
>>> subprocess.call(shlex.split(command))

对于 handbrakecli 或者其他你可能使用的工具,操作方法也是类似的。只需调用相应的命令即可。

撰写回答