logo

한국어

openRTSP RTSP 레코딩 스크립트

관리자 2019.11.17 17:34 조회 수 : 6

#!/bin/bash
############################################################
#
# openRTSP 스트리밍 레코딩 스크립트
#
# crontab -e
# */5 0,1,2,3,4,5 * * * /armbian/scripts/openrtsp_record.sh
#
############################################################
RUN_DIR="/armbian/scripts"
RECORD_DIR="/st4000dm004/cctv/rtsp"
DATESTR=$(date "+%Y-%m-%d_%H_%M_%S")
CAMERA_MODEL="es200k"
PREFIXSTR="${RECORD_DIR}/${DATESTR}_${CAMERA_MODEL}"

# RTSP 주소 정보
RTSP_URL="rtsp://192.168.1.51:554/11"
RTSP_ID="접속아이디"
RTSP_PW='접속비밀번호'

# 15일이 지난 자료는 삭제
OLDDATA_EXP_MIN=+21600

# mp4 파일당 몇초의 녹화시간을 기록할 것인가
SEGMENT_SEC=600

mkdir -p ${RECORD_DIR} > /dev/null

# $OLDDATA_EXP_MIN 보다 오래된 동영상 파일은 삭제
find ${RECORD_DIR} -mmin ${OLDDATA_EXP_MIN} -name "*.mp4" -type f -exec rm -f {} \;

cd ${RUN_DIR}
rm -f nohup.out
if ! pgrep -x "openRTSP" > /dev/null
then
  nohup openRTSP -4 -P ${SEGMENT_SEC} -B 2048000 -b 2048000 -F "${PREFIXSTR}" -u ${RTSP_ID} ${RTSP_PW} -w 1080 -h 720 -f 15  ${RTSP_URL} &
  sleep $((SEGMENT_SEC+6))
  killall -USR1 openRTSP

  # 1Mb보다 작은 동영상 파일은 삭제
  find ${RECORD_DIR} -size -1024k -name "*.mp4" -type f -exec rm -f {} \;
fi
rm -f nohup.out