捕获视频文件的屏幕截图/帧

发布于 2024-10-12 06:55:01 字数 99 浏览 6 评论 0原文

有没有办法在Python中捕获视频文件的单帧?
也可以通过命令行完成。我使用 handbrakecli 来转换视频,
但我也需要一些它的屏幕截图。

谢谢

is there a way to capture a single frame of a video file in python?
it could also be done by command line. im using handbrakecli to convert the videos,
but i would need some screenshots of it too.

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰葑 2024-10-19 06:55:01

您应该首先查看 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 或您可能使用的任何内容。只需调用适当的命令即可。

You should first check out PyFFmpeg.

PyFFmpeg is a wrapper around FFmpeg's
libavcodec, libavformat and libavutil
libraries whose main purpose is to
provide access to individual frames of
video files of various formats
(including MPEG and DIVX encoded
videos). It also provides access to
audio data.

It is also possible using ffmpeg, so call that using subprocess. A simple search will give you the command required to extract a frame from a video file. Just call that command using subprocess and that should do it.

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

The similar procedure applies to handbrakecli or whatever you might use. Just call the appropriate command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文