Я очень новичок в ffmpeg и использую оболочку pythons для ffmpeg, ffmpy для обработки большого количества видео, но некоторые видео выдают различные предупреждения и не могут быть перекодированы.Например:
Unsupported codec with id 0 for input stream 4
Я читал, как анализировать метаданные видео в json из кортежа, который возвращает ff.run () (из первого ff [0]), но как бы я изящно обработалошибки из ff [1] существует ли какой-либо стандартный или рекомендуемый способ использования оболочки ffmpy?Ниже приведено то, что у меня есть в настоящее время, но интересно, есть ли более изящный способ обработки определенных ошибок?
import ffmpy
ff = ffmpy.FFprobe(
inputs={file_to_probe: None},
global_options=[
'-v', 'warning',
'-print_format', 'json',
'-show_format', '-show_streams',
]
).run(stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# to load meta data works great!!
video_meta_data = json.loads(ff[0].decode('utf-8'))
# ideally i'd like to do something like: but is there a better way?!
if ff[1] is not null:
print('handle errors here')