作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 python 处理 ffmpeg。这在远程服务器运行良好时有效,但是当远程服务器关闭时,我可以在 shell 上看到消息说
'与 tcp://xxxxxxx 的连接失败:连接被拒绝,blabla'
pro = sp.Popen(command, preexec_fn=os.setsid, shell=False, stderr=sp.PIPE, stdout=sp.PIPE)
try:
out = self.pro.stderr.readline()
while out:
print '......'
except BrokenPipeError:
print 'err'
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/
我是一名优秀的程序员,十分优秀!