Python解析视频FPS(帧率)、分辨率信息

以下介绍使用Python解析视频的 FPS(帧率)和分辨率信息的方法:

Python 解析视频 FPS 和分辨率信息

在 Python 中,我们可以借助第三方库opencv-python(通常简称为cv2)来实现对视频相关信息的解析,示例代码如下:

python 复制代码
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)

在上述代码中:

  1. 首先使用cv2.VideoCapture函数打开指定路径的视频文件,如果无法打开会给出相应提示并返回。
  2. 通过video.get(cv2.CAP_PROP_FPS)获取视频的帧率信息,这里CAP_PROP_FPSopencv-python库中用于指定获取帧率属性的常量。
  3. 利用video.get(cv2.CAP_PROP_FRAME_WIDTH)video.get(cv2.CAP_PROP_FRAME_HEIGHT)分别获取视频帧的宽度和高度,也就是视频的分辨率信息,并且将获取到的值转换为整数类型,最后打印输出相应的信息,完成后使用video.release()释放视频资源。

除了opencv-python库外,还可以使用moviepy库来获取视频信息,示例如下:

python 复制代码
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()关闭资源。

相关推荐
GDAL17 分钟前
uv 完整教程:下一代 Python 包管理工具
python·uv
曲幽8 小时前
FastAPI 身份验证总踩坑?这份 FastAPI Users “避坑指南”请收好
python·fastapi·web·jwt·oauth2·user·authentication
装不满的克莱因瓶8 小时前
掌握 RNN 与 LSTM 模型结构
人工智能·python·rnn·深度学习·神经网络·ai·lstm
何以解忧,唯有..8 小时前
Python包管理工具pip:从入门到精通
开发语言·python·pip
金銀銅鐵8 小时前
用 Tkinter 实现简单的猜数字游戏
后端·python
copyer_xyf9 小时前
Python 模块与包的导入导出
前端·后端·python
ice8130331819 小时前
【Python】Matplotlib折线图绘制
开发语言·python·matplotlib
copyer_xyf9 小时前
Python venv 虚拟环境
前端·后端·python
林爷万福10 小时前
GitHub 开源光谱数据处理项目推荐
python·光纤光谱仪
copyer_xyf11 小时前
Python 如何同时做很多事:进程、线程、协程
前端·后端·python