Python解析视频FPS(帧率)、分辨率信息
以下介绍使用Python解析视频的 FPS(帧率)和分辨率信息的方法:
Python 解析视频 FPS 和分辨率信息
在 Python 中,我们可以借助第三方库opencv-python
(通常简称为cv2
)来实现对视频相关信息的解析,示例代码如下:
import cv2
def get_video_info(video_path):
video = cv2.VideoCapture(video_path)
if not video.isOpened():
print("无法打开视频文件")
return
# 获取帧率(FPS)
fps = video.get(cv2.CAP_PROP_FPS)
# 获取视频宽度(分辨率的一部分)
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
# 获取视频高度(分辨率的一部分)
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(f"视频帧率(FPS): {fps}")
print(f"视频分辨率: {width}x{height}")
video.release()
video_path = "your_video_file_path.mp4" # 替换为实际的视频文件路径
get_video_info(video_path)
在上述代码中:
- 首先使用
cv2.VideoCapture
函数打开指定路径的视频文件,如果无法打开会给出相应提示并返回。 - 通过
video.get(cv2.CAP_PROP_FPS)
获取视频的帧率信息,这里CAP_PROP_FPS
是opencv-python
库中用于指定获取帧率属性的常量。 - 利用
video.get(cv2.CAP_PROP_FRAME_WIDTH)
和video.get(cv2.CAP_PROP_FRAME_HEIGHT)
分别获取视频帧的宽度和高度,也就是视频的分辨率信息,并且将获取到的值转换为整数类型,最后打印输出相应的信息,完成后使用video.release()
释放视频资源。
除了opencv-python
库外,还可以使用moviepy
库来获取视频信息,示例如下:
from moviepy.editor import VideoFileClip
def get_video_info_moviepy(video_path):
clip = VideoFileClip(video_path)
fps = clip.fps
width, height = clip.size
print(f"视频帧率(FPS): {fps}")
print(f"视频分辨率: {width}x{height}")
clip.close()
video_path = "your_video_file_path.mp4" # 替换为实际的视频文件路径
get_video_info_moviepy(video_path)
这里通过VideoFileClip
类加载视频文件,然后直接通过clip.fps
获取帧率,clip.size
获取视频的宽度和高度组成的元组(即分辨率信息),最后别忘记调用clip.close()
关闭资源。