分离子进程以继续执行程序

时间:2018-05-19 09:24:00

标签: python stream subprocess gopro

我正在尝试在python中制作一个小脚本,从gopro流到PC

from selenium import webdriver
from subprocess import call
import subprocess, sys
import time
import urllib
import urllib2

pid = subprocess.Popen([sys.executable, "Sel.py"])
call(["ffplay", "-fflags", "nobuffer", "udp://:8554"])
driver = webdriver.Firefox(executable_path='/usr/bin/geckodriver')

while True:
    time.sleep(10)
    driver.get("http://10.5.5.9/gp/gpControl/execute?p1=gpStream&a1=proto_v2&c1=restart") 

我对python并不熟悉,我的目标是打开ffplay 使用这些选项然后执行程序的其余部分(每10秒重新加载一次页面)。 现在,当我运行脚本时,它会不断地进行系统调用。 有没有办法从执行python代码中分离ffplay的执行?

2 个答案:

答案 0 :(得分:0)

'Call'将始终等待它正在调用的进程完成。我认为您需要将Popen用于这两个操作,因为它会将控制权返回给您的代码。 https://pythonspot.com/python-subprocess/

有一个简短的教程

答案 1 :(得分:0)

不要重复调用stream http命令,而是使用keep alive magic命令:http://github.com/konradit/goprostream