2021년 5월 현재, 다음 글에 좀 더 제대로된 정보를 정리했다.
이 글은 그냥 과거 기록으로 남겨놓기로.
** 이 글 내용은, 적어도 CubieTruck 에선 잘 작동하지 않는다.
꽃삽질 : ffmpeg 를 이용한 rtsp stream 녹화 2탄이라고나 할까.
이 글은 조금 더 보강되어야 하지만, 일단 알아낸 내용만 적어보기로 한다.
또 다시, Stack Exchange 에 감사를 먼저.
내가 사용한 명령및 선택사항은 이렇다.
openRTSP -4 -D 1 -Q -b 1000000 -B 10000000 -c -d 600 -w 1280 -h 720 -f 24 -F "cam_$(date +%Y-%m-%d-%H%M)" -P 120 -t rtsp://주소
하나 하나 정리해보면 다음과 같다.
-4 : mp4
-D 1 : 1 초 동안 패킷이 없으면 종료.
-Q : output ‘QOS’ statistics about the data stream (when the program exits)
-b 10000000 : Input Buffer (default 100,000)
-B 10000000 : Output Buffer
-c : Continuous record after completion of -d timeframe
-d 600 : 해당 시간(초)동안만 스트리밍을 받아들임. 그러나 -c 에 의해 openRTSP 는 재실행 됨.
-w : Width
-h : Height
-f 24 : Frame Rate
-F cam_$(date +%Y-%m-%d-%H%M) : 파일명 넣기. date 를 넣어주면, 최초 시작시간을 파일명에 추가할 수 있다.
-P 120 : 영상 파일을 저장할 단위(초). 120 이므로 2분씩 끊어서 저장.
-t : tcp
여기서 확실하지 않은 부분은 -D, -c 다.
일단.. -D 를 넣지 않고 돌렸을 때, 이런 오작동이 생겼다.
5월 03 01:56:02 cubietruck cctv-rec.sh[1776]: Started playing session 5월 03 01:56:02 cubietruck cctv-rec.sh[1776]: Receiving streamed data (for up to 600.000000 seconds)... 5월 03 01:56:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-02400-02520.mp4" 5월 03 01:58:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-02520-02640.mp4" 5월 03 02:00:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-02640-02760.mp4" 5월 03 02:02:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-02760-02880.mp4" 5월 03 02:04:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-02880-03000.mp4" 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: Sending request: PLAY rtsp://192.168.0.11:62345/unicast/ RTSP/1.0 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: CSeq: 11 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: User-Agent: openRTSP (LIVE555 Streaming Media v2020.01.19) 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: Session: CDA2565A 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: Range: npt=0.000-600.000 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: 5월 03 02:06:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03000-03120.mp4" 5월 03 02:08:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03120-03240.mp4" 5월 03 02:10:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03240-03360.mp4" 5월 03 02:12:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03360-03480.mp4" 5월 03 02:14:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03480-03600.mp4" 5월 03 02:16:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03600-03720.mp4" 5월 03 02:18:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03720-03840.mp4" 5월 03 02:20:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03840-03960.mp4" 5월 03 02:22:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-03960-04080.mp4" 5월 03 02:24:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04080-04200.mp4" 5월 03 02:26:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04200-04320.mp4" 5월 03 02:28:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04320-04440.mp4" 5월 03 02:30:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04440-04560.mp4" 5월 03 02:32:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04560-04680.mp4" 5월 03 02:34:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04680-04800.mp4" 5월 03 02:36:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04800-04920.mp4" 5월 03 02:38:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-04920-05040.mp4" 5월 03 02:40:02 cubietruck cctv-rec.sh[1776]: Outputting to the file: "cam_Mon 03 May 2021 01:16:01 AM KST-05040-05160.mp4"
600초, 즉 10분간만 스트리밍을 받고 다시 다음 단계로 넘어가야 하는데, 10분이 훨씬 넘었는데도 계속 작동했고, 물론 이 시점(오전 2:06:02)이후 파일 저장은 제대로 되지 않았다.
제대로 작동할 때는, Sending Request 이후 Received … 가 출력되어야만 한다.
Sending request: PLAY rtsp://192.168.0.11:62345/unicast/ RTSP/1.0 CSeq: 6 User-Agent: openRTSP (LIVE555 Streaming Media v2020.01.19) Session: B9931EAB Range: npt=0.000-600.000 Received a complete PLAY response: RTSP/1.0 200 OK CSeq: 6 Date: Mon, May 03 2021 05:17:15 GMT Range: npt=0.000- Session: B9931EAB RTP-Info: url=rtsp://192.168.0.11:62345/unicast/track1;seq=60053;rtptime=3188880546,url=rtsp://192.168.0.11:62345/unicast/track2;seq=51857;rtptime=1853516792
허나, 문제가 됐을 땐 이 부분이 빠져있다.
이게 -D 와 관련이 있을 듯은 한데.. Stack Exchange 에 쓰여진 대로 1 을 줘봐도 결과는 비슷하다. 어느 정도 작동되다가(어떨때는 1시간, 어떨 때는 또 수십분..), 저 현상이 반복된다.
설명서를 봐도, 잘 이해를 못하겠다.
뭘 만져줘야 하려나??
꽃삽질은 계속 된다.