Python 带有ffprobe流分析器的if语句
我试图使用if语句来显示一些视频流参数(比特率),如果它存在,或者如果没有比特率,则显示一条消息(无法测量比特率)。防止我的GUI崩溃 我的代码哪里有错,或者我如何才能使它更好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
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。