KeyError 从视频文件中获取元数据

KeyError getting metadata from video file

我正在尝试使用 ffmpeg 从视频文件中获取分辨率高度和音频比特率,但我收到以下错误,但并没有告诉我太多信息:

File "/home/user/code/python/reduce_video_size/main.py", line 94, in get_metadata
    return video_streams[0]
KeyError: 0

----------------------------------------------------------------------
Ran 1 test in 0.339s

FAILED (errors=1)

所以我不知道该如何解决。

print(get_metadata("/home/user/code/python/reduce_video_size/test.mp4"))

def get_metadata(path):
    video_streams = ffmpeg.probe(path, select_streams = "v")
    if video_streams:
        return video_streams[0]

如果需要更多上下文 here 是代码。

这解决了它,但进行一些错误检查仍然很好:

def get_metadata(path):
    video_stream = ffmpeg.probe(path, select_streams = "v")
    return video_stream['streams'][0]

根据 source codeffmpeg.probe returns 从 JSON 加载的字典。因此,您无需取出第一项,并且 [0] 可以省略。它显然没有任何整数索引。