оператор if с анализатором потока ffprobe - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь использовать оператор if для отображения некоторого параметра видеопотоков (битрейт), если он существует, или отображает сообщение (не может измерить битрейт), если нет скорости передачи данных. и предотвратите мой GUI сбой.

в чем проблема в моем коде или как я могу улучшить его?

import json

import shlex

import subprocess


cmd = "ffprobe -v quiet -print_format json -show_streams"

args = shlex.split(cmd)

myurl = "udp://@239.168.2.6:2113"# this is my video stream 

args.append(myurl)

ffprobeOutput = subprocess.check_output(args).decode('utf-8')

ffprobeOutput = json.loads(ffprobeOutput)

video_stream = next((stream for stream in ffprobeOutput['streams'] if 
stream['codec_type'] == 'video'))



if  int(video_stream['bit_rate']) == True:

    bit_rate1=int(video_stream['bit_rate'])

    print(bit_rate1)

else:

    print('can not measure bitrate')

мой видеопоток имеет параметр битрейта, но мой if оператор всегда дает мне остальное (печать («не может измерить битрейт»))

...