crontab 在 Raspberry Pi 上启动和更改 libcamera-vid RTSP 流

问题描述 投票:0回答:1

我将 Raspberry Pi 用作安全摄像头,我希望能够在重启时自动启动 libcamera-vid 流,并全天更改一些设置。

我拼凑了下面的脚本只是谷歌搜索...

#!/bin/bash
pkill -f libcamera-vid ;
H=$(date +%k%M)
(( 700 <= H && H < 2000 )) && libcamera-vid -t 0 --inline -n --bitrate 3000000 --width 1920 --height 1080 --rotation 180 --framerate 24 --autofocus-mode manual --gain 2 --sharpness 4.0  --contrast 1.2 --brightness 0.1 --codec libav --libav-format flv --libav-audio --audio-device alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback --audio-bitrate 192000 --av-sync 2000000 -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/securcam}' || libcamera-vid -t 0 --inline -n --bitrate 3000000 --width 1920 --height 1080 --rotation 180 --framerate 24 --autofocus-mode manual --gain 26 --sharpness 2.0  --contrast 1.2 --brightness 0.1 --codec libav --libav-format flv --libav-audio --audio-device alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback --audio-bitrate 192000 --av-sync 2000000 -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/securcam}'
#this is how I added my jobs in the cron
@reboot /home/user/scripts/rebootcam.sh
05 07 * * *  /home/user/scripts/rebootcam.sh                                    
20 05 * * * /home/user/scripts/rebootcam.sh

脚本通过终端运行良好,但它不会通过 cron 作业运行。看来 cron 将执行脚本的最后一部分(vlc rtsp 流)并且出错或忽略 libcamera-vid 命令。

我假设运行输出流的管道在 cron 运行时破坏了脚本。

我希望一些大师可以解释这是否可以通过 cron 运行。

感谢您的帮助。

linux cron raspberry-pi rtsp
1个回答
0
投票

通过

cron
开始的工作不会通过您正常的交互式登录序列,并且没有设置相同的 PATH,因此经常找不到程序。

启动终端并找到脚本使用的所有工具/程序的完整路径,例如

type pkill
type date
type libcamera-vid
type cvlc

然后在你的顶部构建一个 PATH

bash
脚本,其中包含所有 containing 目录。所以如果你得到:

pkill is /orange/pkill
date is /opt/banana/date

你会用:

#!/bin/bash
PATH=$PATH:/orange:/opt/banana
...
rest of script
© www.soinside.com 2019 - 2024. All rights reserved.