gpt4 book ai didi

python - 如何在python上捕获ffmpeg连接错误

转载 作者:行者123 更新时间:2023-12-04 23:27:07 25 4
gpt4 key购买 nike

我正在使用 python 处理 ffmpeg。这在远程服务器运行良好时有效,但是当远程服务器关闭时,我可以在 shell 上看到消息说
'与 tcp://xxxxxxx 的连接失败:连接被拒绝,blabla'

pro = sp.Popen(command, preexec_fn=os.setsid, shell=False, stderr=sp.PIPE, stdout=sp.PIPE)

捕获异常方法1:
try:
out = self.pro.stderr.readline()
while out:
print '......'
except BrokenPipeError:
print 'err'

捕获异常方法2:
for line in self.pro.stderr:
try:
print line
except BrokenPipeError:
print 'error'

然而,这些都不起作用。

最佳答案

communicate()返回一个元组 (stdoutdata, stderrdata)所以你只需要打印第二个元素:

cmd = ('ffmpeg', '-hide_banner', '-i', 'tcp://127.0.0.1:10000', '-c', 'copy', '-f', 'null', '/dev/null');
s = subprocess.Popen(cmd, shell=False, preexec_fn=os.setsid, stderr=subprocess.PIPE)
# print stderr
print s.communicate()[1]

输出:

$ ./test.py 
[tcp @ 0x55a01c945000] Connection to tcp://127.0.0.1:10000 failed: Connection refused
tcp://127.0.0.1:10000: Connection refused

关于python - 如何在python上捕获ffmpeg连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com