0

我正在尝试在 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 秒重新加载一个页面)。现在,当我运行脚本时,它会不断地进行系统调用。有没有办法将 ffplay 的执行与 python 代码的执行分离?

4

2 回答 2

0

'Call' 将始终等待它调用的进程完成。我认为您需要对这两个操作都使用 Popen,因为它将控制权返回给您的代码。https://pythonspot.com/python-subprocess/有一个简短的教程

于 2018-05-19T10:16:58.263 回答
0

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

于 2018-05-20T08:02:07.100 回答