반응형
RTSP을 연결할 SMP주소를 얻었고 이제 RTSP 영상을 수신할 차례입니다.
영상 장비를 통해 영상이 수신 되는지 여부는 VLC media player를 통해 확인합니다.
(다운로드 하려면 아래 링크를 클릭.)
https://www.videolan.org/vlc/index.ko.html
Visual Studio 프로젝트에 OpenCVSharp 관련된 NuGet 패키지를 추가합니다.
OpenCVSharp 설치 후 프로그램 실행 시 오류가 발생하는 경우 프로젝트 폴더에 설치된 Packages 폴더에서 아래 2개의 DLL을 찾아 실행 폴더에 넣어 보시기 바랍니다.
- OpenCvSharpExtern.dll
- opencv_videoio_ffmpeg470_64.dll
이전에 가져온 SMP 주소를 넣고 영상 수신을 시작합니다.
ex> _strRTSPUrl = rtsp://192.168.10.222:554/0/profile2/media.smp
영상 장비에 사용자 계정권한이 필요한 경우 에는 다음과 같습니다.
-> rtsp://<ID>:<Password>@192.168.10.222:554/0/profile2/media.smp
ex> _strRTSPUrl = rtsp://admin:1234@192.168.10.222:554/0/profile2/media.smp
Thread를 생성해서 아래 함수를 호출하여 영상을 획득합니다.
private void RTSPCallback() { VideoCapture capture = new VideoCapture(_strRTSPUrl); if (!capture.IsOpened()) { Console.WriteLine("Failed to open RTSP stream."); return; } while (_bThreadRTSP) { using (Mat frame = new Mat()) { capture.Read(frame); // 비디오 스트림이 끝나면 종료 if (frame.Empty()) break; Bitmap bmpImage = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(frame); // 영상 콜백 if(_acRTSPImageCallback != null) _acRTSPImageCallback(bmpImage); } Thread.Sleep(10); } capture.Dispose(); } |
반응형
'IT > C#' 카테고리의 다른 글
[PostgreSQL] 네트워크 접속 설정 방법 (외부 접속 설정) (0) | 2023.07.12 |
---|---|
[한화 비전 - SUNAPI] PTZ, Preset (0) | 2023.07.06 |
[한화 비전 - SUNAPI] Zoom, Focus (0) | 2023.07.06 |
[한화 비전 - SUNAPI] RTSP - SMP Address (0) | 2023.07.04 |
[한화 비전 - SUNAPI] SnapShot (0) | 2023.07.04 |