| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides:
- # Short-Description: Start RTSP Server
- # Description: Provide RTSP Streaming Video over IP
- ### END INIT INFO
- . /opt/wz_mini/wz_mini.conf
- RTSP=/opt/wz_mini/log/v4l2rtspserver
- if [[ -e $RTSP.log || -L $RTSP.log ]] ; then
- i=0
- while [[ -e $RTSP.log.$i || -L $RTSP.log.$i ]] ; do
- let i++
- done
- mv $RTSP.log $RTSP.log.$i
- RTSP=$RTSP
- fi
- touch -- "$RTSP".log
- case "$1" in
- start)
- echo "#####$(basename "$0")#####"
- if [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
- if [ -f /opt/wz_mini/tmp/.T20 ]; then
- HI_VIDEO_DEV="/dev/video6"
- else
- HI_VIDEO_DEV="/dev/video1"
- fi
- if [[ "$RTSP_PASSWORD" = "" ]]; then
- RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac)
- fi
- echo "Enable video ch 0"
- /opt/wz_mini/bin/cmd video 0 on > /dev/null
- if [[ "$RTSP_HI_RES_ENABLE_AUDIO" == "true" ]]; then
- echo "Enable audio ch 0"
- /opt/wz_mini/bin/cmd audio 0 on > /dev/null
- AUDIO_CH="-C 1"
- AUDIO_FMT="-a S16_LE"
- DEVICE1="$HI_VIDEO_DEV,hw:0,0"
- else
- DEVICE1="$HI_VIDEO_DEV"
- echo "rtsp audio disabled"
- fi
- else
- echo "rtsp disabled"
- fi
- if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
- if [ -f /opt/wz_mini/tmp/.T20 ]; then
- LOW_VIDEO_DEV="/dev/video7"
- else
- LOW_VIDEO_DEV="/dev/video2"
- fi
- echo "Enable video ch 1"
- /opt/wz_mini/bin/cmd video 1 on > /dev/null
- if [[ "$RTSP_PASSWORD" = "" ]]; then
- RTSP_PASSWORD=$(cat /opt/wz_mini/tmp/wlan0_mac)
- fi
- if [[ "$RTSP_LOW_RES_ENABLE_AUDIO" == "true" ]]; then
- echo "Enable video ch 1"
- /opt/wz_mini/bin/cmd audio 1 on > /dev/null
- AUDIO_CH="-C 1"
- AUDIO_FMT="-a S16_LE"
- DEVICE2="$LOW_VIDEO_DEV,hw:2,0"
- else
- DEVICE2="$LOW_VIDEO_DEV"
- echo "rtsp audio disabled"
- fi
- else
- echo "rtsp disabled"
- fi
- if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] || [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
- echo "delay RTSP for iCamera"
- #This delay is required. Sometimes, if you start the rtsp server too soon, live view will break on the app.
- sleep 5
- if [[ "$RTSP_AUTH_DISABLE" == "true" ]]; then
- echo "Starting RTSP server"
- LD_LIBRARY_PATH=/opt/wz_mini/lib LD_PRELOAD=/system/lib/libsetunbuf.so /opt/wz_mini/bin/v4l2rtspserver $AUDIO_CH $AUDIO_FMT -F0 -P "$RTSP_PORT" $DEVICE1 $DEVICE2 > $RTSP.log 2>&1 &
- else
- echo "Starting RTSP server"
- LD_LIBRARY_PATH=/opt/wz_mini/lib LD_PRELOAD=/system/lib/libsetunbuf.so /opt/wz_mini/bin/v4l2rtspserver $AUDIO_CH $AUDIO_FMT -F0 -U "$RTSP_LOGIN":"$RTSP_PASSWORD" -P "$RTSP_PORT" $DEVICE1 $DEVICE2 > $RTSP.log 2>&1 &
- fi
- sleep 1
- echo "Set imp variables via helper"
- /opt/wz_mini/usr/bin/imp_helper.sh > /dev/null 2>&1 &
- fi
- sync;echo 3 > /proc/sys/vm/drop_caches
- ;;
- stop)
- pkill v4l2rtspserver
- cmd video 0 off
- cmd audio 0 off
- cmd video 1 off
- cmd audio 1 off
- pkill imp_helper.sh
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit 1
- ;;
- esac
|