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()关闭资源。

相关推荐
小鸡吃米…9 小时前
机器学习中的代价函数
人工智能·python·机器学习
Li emily10 小时前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
m0_5613596711 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
Ulyanov11 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
Techblog of HaoWANG11 小时前
目标检测与跟踪 (8)- 机器人视觉窄带线激光缝隙检测系统开发
人工智能·opencv·目标检测·机器人·视觉检测·控制
2401_8384725111 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
CoLiuRs12 小时前
语义搜索系统原理与实现
redis·python·向量·es
zhihuaba12 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
u01092727112 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
Stream_Silver13 小时前
【Agent学习笔记3:使用Python开发简单MCP服务】
笔记·python