我試圖在我的Python腳本中啓動和停止ffmpeg管道。我可以用命令啓動管道,使用一個子進程,但是它綁定了腳本,因此它不再接收命令。爲了防止這種情況發生,我需要改變什麼?啓動和停止python中的ffmpeg管道
我使用:
pipeline= "ffmpeg -f video4linux2 -video_size 640x480 -framerate 15 -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 -acodec aac -strict -2 -f flv -metadata streamName=myStream tcp://192.168.1.20:6666 "
p = subprocess.Popen(pipeline, shell=True,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = p.communicate()[0]
你不需要'multiprocessing.Process'獲得子輸出而不堵,你可以[使用線程或async.io代替] (http://stackoverflow.com/a/23616229/4279) – jfs 2014-09-25 10:19:47
'multiprocessing.Process'只是我的第一個想法。但你是對的,謝謝! – 2014-09-25 10:41:08