我可以在树莓派3终端上运行mjpg-streamer。
以下是我使用的命令。
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 800x448" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/"
我现在想在Python 3上执行它。所以我尝试使用os.system()
和subprocess.call(),但是它无法执行,并且在运行代码后网络摄像头出了问题,因此我不得不重新启动树莓派3。即使os.system()
的代码如os.system('python3 test.py')
一样也可以正常工作。
不可能使用Python 3代码执行mjpg-streamer吗?
以下是我的代码。
import os
os.system('mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 800x448" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/"')
proc = subprocess.Popen(command, universal_newlines=True, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
将其获取并像以前一样执行:output,error = proc.communicate()
然后根据ID停止进程(需要导入os
和signal
):os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
- cccnrc