Raspberry pi - 强制 raspivid 退出

Rasberry pi - force raspivid to quit

我的想法是将我的 RBP 用作婴儿监视器,通过网络流式传输,这样我就可以在家里的任何 computer/TV 上观看。

1.To 首先,我试图从我的 raspberry pi 流式传输视频,以便使用 VLC 网络流从另一台 PC 访问。

它使用这个命令行工作:

raspivid -o - -t 0 -hf -w 800 -h 400 -fps 24 |cvlc -vvv stream:///dev/stdin --sout'#standard{access=http,mux=ts,dst=:8160}' :demux=h264
  1. 之后我希望它从 python 程序开始。 使用这个简单的程序完成:
    from subprocess import call

    call(["raspivid -o - -t 0 -hf -w 800 -h 400 -fps 24 |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264"])
  1. 现在需要在启动时启动 python 程序。所以我在自动启动中创建了一个 .desktop 文件:
mkdir /home/pi/.config/autostart
nano /home/pi/.config/autostart/autostartCamStream.desktop

autostartCamStream.desktop :

[Desktop Entry]
Type=Application
Name=AutostartCam
Exec=/usr/bin/python3 /home/pi/startCamStream.py

一切都在做它应该做的事情!重新启动后,startCamStream.py 开始流式传输,我可以通过 PC 上的 VLC 播放器在端口 8160 上访问它。

但问题是在 Raspberry pi 上,流是全屏的,我无法关闭它或做任何其他事情...我试过 CRTL+Q, ATL+F4 等。没有任何工作(我什至看不到终端,录音似乎在所有其他程序的前面)之前自动启动,我正在使用 CTRL-C 关闭流,因为它在终端中是 运行。

由于我只有 linux 环境的基础知识,我想知道是否有人有一个我不知道的非常明显的解决方案...谢谢!

只需将 -n 添加到 raspivid 命令即可解决问题。

-n 停止正在预览的视频。