捕获视频文件的截图/帧
有没有办法用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
或者其他你可能使用的工具,操作方法也是类似的。只需调用相应的命令即可。