영상관제시스템 개발 업무 질문이요..

영상관제시스템 개발을 c# 으로 할 경우 필요한 지식이나 자주 사용하는 내용들이 있는지 궁금합니다…

그리고 업무 난이도는 어떤지도 궁금합니다

2개의 좋아요

소스가 무엇인지? (file, rtsp, rtmp, hls, dash, webrtc, rtp/rtcp)
입력 숫자는 어느 정도인지? (16, 32, 64, 128)
소스의 mediainfo에 해당하는 정보는? (비디오 코덱, 해상도, 오디오 코덱,…)
최소한의 정보는 포함해서 질문을 하셔야죠.

질문을 하실 때 꼭 생각해 보셔야 할 것이 관련 정보가 모두 포함되어 있는가? 라고 생각 합니다.

참고로 질문하신 내용은 위의 정보에 따라 답변이 완전히 달라집니다.
시스템 한대로도 될 수 있고 서비스 수준으로 구성이 될수도 있습니다.

3개의 좋아요

죄송합니다…영상관제 이쪽으로는 어떤 기술이 쓰이고 어떻게 개발이 되는지를 아예 몰라서요 ㅜㅜ

2개의 좋아요

영상관제면 IP 카메라와 연동이 기본인데 rtsp가 기본 프로토콜입니다.(rtp/rtcp도 포함되어 있습니다)
c#은 모르겠는데 c++로 된 live555 라는 아주 오래된 유명한 오픈소스 프로젝트가 있습니다.
그리고 코덱을 연동해야할텐데 자체개발이나 상용코덱이 아니면 대부분 ffmpeg 을 사용합니다.

3개의 좋아요

영상 관제 시스템은 사실 오래된 시스템입니다.
경험 없는 개발자가 맨 땅에 헤딩하면 매우 어렵지만, 경험 있는 개발자라면 그리 어렵지 않은 업무입니다.

영상 관제 시스템은 수많은 영상 서버로부터 영상을 받아와서 화면에 뿌려주는 게 가장 기본적인 임무입니다.

영상 서버는 IP 카메라일 수도 있고, 녹화기일 수도 있습니다.
IP 카메라라면, 한 개의 스트림만 보낼 것이고, 녹화기라면 복수의 스트림을 보낼 것입니다.

만약, 새롭게 배우고자 하실 때는:

VLC Player 가 좋은 영상 서버(비디오 스트리머)가 될 것입니다.
VLC 의 기능 중에 영상을 화면에 재생하는 것이 아닌 네트워크로 스트리밍하는 기능이 있기 때문에, 영상 서버로 쓸 수 있습니다.

예전에는 이 기능은 VLC 밖에 없었지만, 지금은 곰플레이어 팟플레이도 다 가지고 있습니다.
그럼에도 VLC를 추천하는 이유는 소비자보다는 개발자에게 최적화된 면이 있기 때문입니다.
전송과 관련한 설정을 좀 더 세밀하게 할 수 있고, 영상과 전송의 설정값이 체계적으로 구현되어 있기 때문에 VLC를 가지고 놀다 보면 자연히 영상의 전송에 익숙하게 됩니다.

먼저 VLC 플레이어가 특정 영상 파일을 스트리밍하게 해놓고 그것을 C#으로 만든 앱에서 플레이 되도록 하는게 제 1목표이고,

그 다음은 네트워크 상의 서버(스트리머)를 찾아내는 일입니다.
예전에는 Bonjour 와 랑데뷰 서버 를 많이 사용했습니다.
서버를 찾아 낼 수 있다면, 활성 상태로 표시하고, 없다면 비활성 상태로 표시해야겠지요.

그 다음은 영상 서버의 설정을 관리하는 일과 영상 서버를 조작하는 일입니다.
카메라 중에는 PTZ 카메라가 있는데, 관제 센터에서 이 카메라를 조작할 수 있어야 합니다.
PTZ 카메라가 아니어도 IP 카메라는 몇 가지 기능에 관한 설정을 할 수 있는데, 그것들을 관제센터에서 조작할 수 있어야 합니다.

이러한 일들은 보통 영상 서버들(IP Camera, 녹화기)이 각 기능에 대한 프로토콜을 제시하기 때문에 그것을 따르면 됩니다.

사실, 이 프로토콜을 얼마나 엣지있게 맞추냐에 따라 품질이 달라집니다.
수 많은 개발자들이 이 부분에서 많은 애를 먹더군요.

좋은 사수가 없이 혼자 하기에는 무리가 있는 어플리케이션입니다.

8개의 좋아요

답변 감사드려요!!!

2개의 좋아요

답변 감사드려요!!!

3개의 좋아요