Python 带有ffprobe流分析器的if语句

Python 带有ffprobe流分析器的if语句,python,if-statement,ffprobe,Python,If Statement,Ffprobe,我试图使用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:21

我试图使用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语句总是给我else(print('cannotmeasurebitrate'))

你能提供一个,可能有一个关于ffprobeOutput的例子吗?你现在可以查一下,据我所知,ffprobe提供的关于比特率的唯一字符串不是“bit\u rate”,而是“bitrate”.我的if语句正确吗?事实上,没有。你为什么要检查int是否正确?如果比特率为4,则永远不会等于True。