반응형

https://youtu.be/l7JOvI1WaAg

ESP32CAM과 노드레드(node-red)를 이용해서 저예산 1채널 CCTV만들어보기!(1부/실시간스트리밍, 녹화)
녹칸다의 노드레드(node-red) 시리즈의 일부분이다!
이번편은 ESP32CAM을 RTSP로 동작시키고 IP카메라처럼 동작하도록 한다!(이부분은 인터넷에 있는 코드를 그대로 활용한다)
FFMPEG를 설치하고 RTSP영상을 노드레드쪽으로 넘겨보도록 한다!
1대의 카메라를 이용해서 CCTV를 구현하는 것으로 하고 실시간확인과 저장, 저장된거 확인정도의 간단한 기능을 구현해보도록 하자!
(이번편의 목표는 아주 저렴하고 간단하게 개인용으로 쓸 수 있는 CCTV를 만들어 보는 것이다!)

esp32cam.zip
0.08MB
427노드레드CCTV.txt
0.01MB

 


(노드레드에 추가해야할것)
대시보드, base64, File Lister, Ui-List

(EXEC노드 명령)
SIGTERM(중단), SIGSTOP(일시중지), SIGCONT(다시시작)

(FFMPEG다운경로)
https://github.com/BtbN/FFmpeg-Builds/releases

(ESP32CAM RTSP 레퍼런스코드/원본페이지가 삭제되어서 파일로 대체함)

rtsp-video-streamer-diy-14-master.zip
0.08MB


https://github.com/bnbe-club/rtsp-video-streamer-diy-14

(FFMPEG INPUT 예시)
ffmpeg -f rtsp -i "스트림주소" -preset ultrafast -vcodec libx264 -f segment -strftime 1 -segment_time 5 -reset_timestamps 1 "C:\Users\wajang\.node-red\root\video\%Y-%m-%d-%H-%M-%S_steam1.mp4" -f image2pipe pipe:1

(base64를 img에 출력하기)
msg.payload = "data:image/png;base64," + msg.payload;

(다시보기에 필요한 템플릿코드)
<div>
     <video controls id="video" width="100%" heigth="100%"></video>
</div>

<script> 
    (function(scope) {
        scope.$watch('msg', function (msg) {      
            if (msg) {

                var video = document.getElementById('video');
                video.src = "http://192.168.0.8:1880/video/"+msg.payload.title;
                video.type="video/mp4";
                video.play();
            }       
         }); 
    })(scope); 
</script>

(테스트용 RTSP주소)
rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4

반응형
Posted by 덕력킹
,