Rasberry pi-强制raspivid退出

问题描述

我的想法是将我的RBP用作可以通过网络传输的婴儿监视器,这样我就可以在家中的任何计算机/电视上观看了。

1。首先,我试图从树莓派中流式传输视频,以便使用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,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环境的基本知识,所以我想知道是否有人可以提供我不知道的非常明显的解决方案……谢谢!

解决方法

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

-n停止预览视频。