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 code,ffmpeg.probe
returns 从 JSON 加载的字典。因此,您无需取出第一项,并且 [0]
可以省略。它显然没有任何整数索引。
我正在尝试使用 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 code,ffmpeg.probe
returns 从 JSON 加载的字典。因此,您无需取出第一项,并且 [0]
可以省略。它显然没有任何整数索引。