我正在尝试使用 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
返回从 JSON 加载的字典。因此,您无需取出第一项和 [0]
可以省略。它显然没有任何整数索引。
关于python - KeyError 从视频文件中获取元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72501979/