📜  python ffmpeg 获取视频 fps - Python (1)

📅  最后修改于: 2023-12-03 15:34:00.033000             🧑  作者: Mango

Python使用FFmpeg获取视频FPS

在视频处理中,经常需要获取视频的帧率(FPS),本文将演示如何使用Python和FFmpeg获取视频的帧率。

1. 安装FFmpeg

首先,需要安装FFmpeg的Python库。可以使用pip安装:

pip install ffmpeg-python
2. 获取视频信息

使用FFmpeg获取视频信息,包括帧率、视频时长、分辨率等。下面是 Python代码片段:

import ffmpeg

def get_video_info(filename):
    probe = ffmpeg.probe(filename)
    video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
    if video_stream is None:
        return None

    return {
        'duration': float(video_stream['duration']),
        'width': int(video_stream['width']),
        'height': int(video_stream['height']),
        'fps': round(eval(video_stream['avg_frame_rate']))
    }

在上述代码中,我们使用FFmpeg的probe方法获取视频信息,并从返回的字典中找到视频流,接着从视频流对象中提取出fps属性。需要注意的是,fps属性返回的是字符串,需要使用eval进行计算。

3. 测试

接下来,让我们使用上面的函数测试一下。代码如下:

print(get_video_info('video.mp4'))

这里我们假设视频文件名为video.mp4,输出结果如下:

{
    'duration': 61.6,
    'width': 1280,
    'height': 720,
    'fps': 30
}

可以看到,我们成功获取了视频的帧率等信息。

结论

本文介绍了如何使用Python和FFmpeg获取视频的帧率信息。通过调用FFmpeg命令,Python可以轻松获取视频的各种信息,为视频处理提供了方便的工具。