一个关键帧和ffmpeg iframes提取器

video-kf的Python项目详细描述


快速指南

安装

pip install video-kf

使用

从视频所在的同一目录打开命令行或终端,然后运行:

^{pr2}$

如果命令行是在视频所在的不同目录中打开的,则完整路径将为 需要。在

扩展文档

Video kf是一个Python包,可以从命令行运行,也可以通过导入从Python内部运行。 它基于不同的方法提取视频中最相关的关键帧。在

目前,有3种方法可供选择:

  • iframes:它提取视频的iframes, 由ffmpeg计算。这是默认选项。在

    在命令行中使用:

    ^{pr2}$

    或者

    video-kf "My_video.mp4" -m "iframes"
    

    在Python内部使用:

    importvideokfasvfvf.extract_keyframes("My_video.mp4")

    或者

    importvideokfasvfvf.extract_keyframes("My_video.mp4",method="iframes")
  • color:返回基于颜色的每个快照序列的平均帧。镜头序列是一组帧 从一个iframe开始。在

    在命令行中使用:

    video-kf "My_video.mp4" -m "color"
    

    在Python内部使用:

    importvideokfasvfvf.extract_keyframes("My_video.mp4",method="color")
  • flow:返回相对于每个快照序列前一帧的最静止帧。镜头序列 是以iframe开头的帧组。在

    在命令行中使用:

    video-kf "My_video.mp4" -m "flow"
    

    在Python内部使用:

    importvideokfasvfvf.extract_keyframes("My_video.mp4",method="flow")

注意

方法colorflow^{str1}$将下载视频的所有帧。请记住,如果视频很长, 这将需要时间和空间来保存帧。在

对于只下载iframes的方法iframes则不是这样。在

Ffmpeg和Ffprobe的使用

Video kf自动下载ffmpegffprobe的可执行文件,并在默认情况下保存在 名为“Ffmpeg”的文件夹,位于home目录中。您可以选择将可执行文件保存在其他 运行位置:

video-kf "My_video.mp4" -dir "PATH_RO_A_DIFFERENT_LOCATION"

如果已经安装了ffmpegffprobe,则还可以使用自己的可执行文件。有很多种方法 这样做,他们都是同等的。选择最适合你的:

  • 使用命令行选项ffmpegffprobe(您可以选择只使用这两个选项中的一个):

    video-kf "My_video.mp4" -ffmpeg "PATH_TO_FFMPEG" -ffprobe "PATH_TO_FFPROBE"
    
  • ffmpegffprobe保存为分别命名为ffmpeg和ffprobe的环境变量。在

  • 手动保存ffmpegffprobe到名为“ffmpeg”的文件夹中,默认情况下该文件夹位于home 目录,并正常运行程序(在命令行中或在python中)。您也可以选择 通过命令行使用-dir选项更改目录

命令行选项

positional arguments:
  video_file            Path to the video file to extract the keyframes from.

optional arguments:
  -h, --help            show this help message and exit
  -m METHOD, --method METHOD
                        Method to extract the keyframes
  -o OUTPUT_DIR_KEYFRAMES, --output_dir_keyframes OUTPUT_DIR_KEYFRAMES
                        Directory where to extract keyframes. If it is a
                        string instead of a directory, keyframes will be saved
                        in a folder named as this string, located in the same
                        directory of the video
  -ffmpeg FFMPEG, --ffmpeg FFMPEG
                        Path to the Ffmpeg executable
  -ffprobe FFPROBE, --ffprobe FFPROBE
                        Path to the Ffprobe executable
  -dir DIR_FFMPEG_FFPROBE, --dir_ffmpeg_ffprobe DIR_FFMPEG_FFPROBE
                        Path to the directory containing both Ffmpeg and
                        Ffprobe executables
  --no-frames-rm        If present, this option will NOT remove the directory
                        with the extracted frames, if they were extracted
                        (only for 'color' and 'flow' methods)

参考文献

FFmpeg开发人员。(2016年)。Ffmpeg工具[软件]。 可从http://ffmpeg.org/获得

从:https://ffbinaries.com/readme获取的二进制文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java TestNG跨浏览器测试在启动第一个浏览器后失败   java如何根据本地存储数据设置默认下拉值和选择   数组Java程序以打印字符串中只有一次可用的字符   java A4j:commndButton和A4j:commandLink未显示在输出中   javajavax。servlet。Apache Karaf 2.3.0中的http包   如果对象是可序列化/可打包的,则java是可序列化/可打包的数组   如果实现了自动关闭,java Helper将调用close()?   java不能转换为org。springframework。奥姆。冬眠4。LocalSessionFactoryBean   java Eclipse不会启动JVM不兼容   java Hibernate关系错误   java我应该设置“从池中获取连接”的超时吗?   java Spring引导连接到docker服务mongodb   java NullPointerException从何而来?   java JSP使src url的结尾成为javascript变量   java spring父上下文和子上下文之间有什么区别?