создать ассоциативные данные из результата строки ffmpeg в python - PullRequest
0 голосов
/ 09 сентября 2018

Для выполнения видео операций я использую python с поддержкой ffmpeg. После того, как я загрузил видео, мне нужно изменить его размер, поэтому я буду следовать этим инструкциям для расчета размеров видео:

link_v = "C:/video/video.mp4"
ffmpeg = "ffprobe -v error -show_entries stream=width,height -of default=noprint_wrappers=1 %s"% link_v
info = check_output(ffmpeg, shell=True)
print(info)

Результат консоли выглядит примерно так:

width=350
height=350

Но меня это не волнует, когда он печатается, как если бы это была строка, потому что реальные данные были бы: b'width = 350 \ r \ nheight = 350 \ r \ n 'или [' width = 350 \ г \ nheight = 350 \ г \ п '].

Что я действительно хочу увидеть, так это ассоциативные данные: "{ширина: 350, высота: 350}", как только я получу, я бы назвал, например, ширину в информационном режиме ['ширина'], как я могу получить этот результат?

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Вот код, который вам нужен:
link_v = "D:/video/youtube/video.mp4"
ffmpeg = "ffprobe -v error -show_entries stream=width,height -of default=noprint_wrappers=1 %s"% link_v
info = sp.check_output(ffmpeg, shell=True)
dim = str(info).split("b")[1].split('\'')[1].split('\\r\\n')[:2]
dim =dict(item.split("=") for item in dim)
print(dim)

и результат будет таким:

{'width': '1920', 'height': '1080'}

0 голосов
/ 09 сентября 2018

ffprobe предлагает JSON Writer в качестве выходного формата. Установите -of в json

...