【问题标题】:Get video and audio bitrate of an Mp4 file separately with python?用python分别获取Mp4文件的视频和音频比特率?
【发布时间】:2019-12-24 03:53:11
【问题描述】:

我有一些 Mp4 文件。我想用python分别获取视频轨道和音频轨道的比特率。我知道python-opencv 可能有助于获取帧数:

import cv2
video = "sample.mp4"

video_capture = cv2.VideoCapture(video)
video_length = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))

但我没有找到 biterate 的选项。而且我不需要整体比特率,因为我必须分别处理视频和音频。 (如果音频比特率可以由其他人计算,那没关系。)我不知道python-opencv是否可以做到。如果没有,我应该使用哪些其他软件包以及如何使用?

尽可能使用流行的包来避免问题。如果检查流设置会更好。谢谢。

【问题讨论】:

    标签: python opencv audio video


    【解决方案1】:

    ffmpeg 可能是最常见或最流行的视频处理解决方案,您可以使用它来获取您正在寻找的信息。

    虽然 ffmpeg 是一个命令行工具,但它所构建的库可以在其他应用程序中使用,对于您的情况,可能更简单,Python 包装器存在允许您使用命令行 ffmpeg 的所有功能。例如以下是一个很好的支持(在撰写本文时):

    此库包含使用 ffprobe(ffmpeg 的配套命令行实用程序)获取信息的示例 - 返回为 JSON,您可以在视频或音频流中搜索所需的信息 - 例如:

    probe = ffmpeg.probe(args.in_filename)
    video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
    

    【讨论】:

    • AttributeError: module 'ffmpeg' has no attribute 'probe' UPD: pip uninstall ffmpeg ` pip install ffmpeg-python` 解决了这个问题。
    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多