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

相关推荐
ZC跨境爬虫7 分钟前
跟着 MDN 学 HTML day_55:HTML 音频与视频嵌入实战指南
前端·javascript·ui·html·音视频·媒体
小江的记录本14 分钟前
【MySQL】《MySQL日志面试背诵版+思维导图》(核心考点 + MySQL 8.0最新优化)
java·数据库·后端·python·sql·mysql·面试
西洼工作室14 分钟前
Python邮箱工具类封装:高效邮件发送与管理
python·全栈
子午20 分钟前
基于YOLO的水稻害虫检测系统~Python+yolov8算法+深度学习+人工智能+模型训练
人工智能·python·yolo
我命由我1234522 分钟前
Android Framework P2 - 开机启动 Zygote 进程、Zygote 的预加载机制
android·java·开发语言·python·java-ee·intellij-idea·zygote
2401_8504916538 分钟前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
ㄟ留恋さ寂寞41 分钟前
如何修改数据库实例名_ORACLE_SID环境变量重命名实战
jvm·数据库·python
aqi0044 分钟前
FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid
android·ffmpeg·kotlin·音视频·直播·流媒体
2401_850491651 小时前
使用 curl 调用 Go 标准库 RPC 服务(JSON-RPC 协议详解)
jvm·数据库·python
平常心cyk1 小时前
OpenAI库的基本使用
python