【发布时间】:2014-11-12 23:33:39
【问题描述】:
我在一个 shell 脚本中有一个 ffmpeg 管道,它在 Python 中作为子进程启动。出于某种原因,当 Python 启动脚本时,我的视频完美流式传输,然后每次冻结大约六分钟。冻结后,如果我尝试手动运行脚本,它会给我这个错误:
无效的 MIT-MAGIC-COOKIE-1 keyxcb_connection_has_error() 返回 true 符号链接失败 /root/.pulse/65f3ded611649c6dcf9ebae20000046d-运行时到 /tmp/pulse-PKdhtXMmr18n:输入/输出错误 [alsa @ 0x4b2f0] 不能 打开音频设备 hw:0,0(设备或资源忙) hw:0,0: 输入/输出错误
但是,如果我手动重新启动并运行脚本,音频和视频将无限期地正常播放。
有人知道为什么会这样吗?谢谢。
这是我的 pipline.sh 文件:
sudo ffmpeg -f video4linux2 -video_size 640x480 -framerate 30 -input_format yuyv422 -i /dev/video7 -f alsa -i hw:0,0 -map 0:0 -map 1:0 -b:v 120k -bufsize 120k -vcodec libx264 -preset ultrafast -crf 28 -acodec aac -strict -2 -f flv -metadata streamName= StreamName tcp://71.192.1.22
这是我在 Python 中使用的子进程:
subprocess.Popen("sudo ./ffmpeg_script.sh", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
【问题讨论】: