📅  最后修改于: 2023-12-03 15:34:00.033000             🧑  作者: Mango
在视频处理中,经常需要获取视频的帧率(FPS),本文将演示如何使用Python和FFmpeg获取视频的帧率。
首先,需要安装FFmpeg的Python库。可以使用pip安装:
pip install ffmpeg-python
使用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进行计算。
接下来,让我们使用上面的函数测试一下。代码如下:
print(get_video_info('video.mp4'))
这里我们假设视频文件名为video.mp4,输出结果如下:
{
'duration': 61.6,
'width': 1280,
'height': 720,
'fps': 30
}
可以看到,我们成功获取了视频的帧率等信息。
本文介绍了如何使用Python和FFmpeg获取视频的帧率信息。通过调用FFmpeg命令,Python可以轻松获取视频的各种信息,为视频处理提供了方便的工具。