【问题标题】:python openCV codec infopython openCV编解码器信息
【发布时间】:2020-08-18 10:32:44
【问题描述】:

假设有一些 mov 文件。我想知道每个 mov 使用的是什么编解码器。 谁能帮我? 我需要得到图像中的“h264”,而不是 Input(AVC1)。

import cv2
import glob

mov_files = glob.glob('*.mp4')

for eachFile in mov_files:
    cap = cv2.VideoCapture(eachFile)
    file_length = cap.get(cv2.CAP_PROP_FRAME_COUNT)
    print(file_length)
    codec ??
    print(codec)

【问题讨论】:

  • 分享代码 sn-p 而不是照片
  • 我编辑了我的问题。

标签: python opencv video codec


【解决方案1】:

您可以使用以下方法找到视频编解码器的 4 个字符代码:

h = int(cap.get(cv2.CAP_PROP_FOURCC))
codec = chr(h&0xff) + chr((h>>8)&0xff) + chr((h>>16)&0xff) + chr((h>>24)&0xff)

更新:

使用 OpenCV 只能获取视频编解码器的 FourCC 信息。没有关于编解码器的更多信息。可以参考链接:https://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture

还有 FourCC 代码列表:http://www.fourcc.org/codecs.php

因此,根据这个问题,您只能使用 OpenCV 获取 FourCC 代码信息。有关编解码器的更多详细信息,您可能需要使用其他库。

【讨论】:

  • 谢谢,但我得到的是输入信息。我需要获取视频编解码器信息。(例如,DnxHD、h264、、、、等)
  • 非常感谢。我会寻找其他图书馆。