본문 바로가기
소프트웨어개발

ONVIF 검색은 되는데 영상이 안 나올 때: 프로필·스트림 URI·포트 확인법

by 아빠띠띠뽀 2026. 9. 14.

ONVIF 검색은 되는데 영상이 안 나오는 문제는 장치 발견 이후의 인증·미디어 프로필·RTSP 주소·코덱 단계 중 하나가 실패한 상황입니다. 카메라 이름과 IP가 목록에 보인다는 사실은 네트워크에서 장치를 찾았다는 뜻이며, 영상 수신 성공까지 보장하지 않습니다.

해결할 때는 ‘검색 → 인증 → 프로필 조회 → 스트림 URI 획득 → RTSP 연결 → RTP 수신 → 디코딩’ 순서로 성공 지점을 기록하세요. 이 순서를 지키면 카메라 문제와 관제 프로그램 문제를 분리하기 쉽습니다.

1. 장치 검색과 영상 재생은 왜 별개일까?

ONVIF는 서로 다른 제조사의 IP 보안 장비가 장치 정보, 미디어 설정, 이벤트와 PTZ 같은 기능을 공통 방식으로 다루도록 정의한 규격입니다. 프로그램은 검색 응답으로 장치 주소를 찾은 뒤 인증하고, 미디어 프로필과 스트림 URI를 요청합니다.

ONVIF Profile S 규격에도 프로필을 조회하고 GetStreamUri로 RTSP 주소를 얻어 영상을 수신하는 흐름이 구분되어 있습니다. 검색만 성공했다면 아직 영상 경로의 앞부분만 확인한 것입니다.

단계 성공 신호 실패 시 확인
장치 검색 카메라 IP·서비스 주소 표시 VLAN·검색 서비스·방화벽
ONVIF 인증 장치·기능 정보 조회 사용자·시간·권한
미디어 프로필 해상도·코덱 프로필 반환 공통 프로필·펌웨어
스트림 URI RTSP 주소 반환 주소·채널·서비스 설정
RTSP·RTP 수신 영상 패킷과 코덱 감지 인증·포트·TCP·UDP
화면 표시 프레임 디코딩 코덱·프로필·브라우저

직접 제작한 ONVIF 영상 점검도. 장치 검색 성공은 첫 단계일 뿐이며 인증, 프로필, URI, RTSP 패킷과 디코딩을 각각 확인해야 합니다.

2. ONVIF 사용자와 장치 시간을 확인하세요

일부 카메라는 웹 관리자 계정과 ONVIF 사용자를 별도로 관리합니다. 웹 화면에 로그인되더라도 관제 프로그램이 장치 정보를 읽지 못할 수 있습니다. ONVIF 서비스가 활성화됐는지, 해당 사용자가 미디어 조회 권한을 갖는지 확인하세요.

인증 메시지에 시간이 사용되는 구현에서는 카메라와 클라이언트의 시각 차이가 실패 원인이 될 수 있습니다. 카메라 시간대와 NTP 서버, 관제 서버 시간을 맞춘 뒤 다시 시도합니다. 시간을 맞추기 위해 인터넷 전체에 카메라를 노출할 필요는 없으며 내부 NTP를 사용할 수도 있습니다.

401이 반복되면 RTSP 401 점검 순서에 따라 ONVIF 인증과 스트림 인증을 따로 확인하세요.

3. 장치와 클라이언트의 공통 프로필을 봅니다

제품 설명에 ‘ONVIF 지원’이라고 적혀 있어도 모든 기능이 같은 것은 아닙니다. 카메라와 VMS·NVR이 공통으로 지원하는 Profile S 또는 Profile T 기능, 그리고 필요한 기능이 필수인지 조건부인지 확인해야 합니다.

ONVIF Profile T는 H.264·H.265 스트리밍, 영상 설정, 움직임·가림 이벤트, 메타데이터와 양방향 오디오 등을 다룹니다. 제조사가 제출한 모델과 펌웨어의 적합 정보는 ONVIF 적합 제품 검색에서 대조할 수 있습니다.

같은 모델이라도 펌웨어에 따라 동작이 달라질 수 있습니다. 카메라와 클라이언트의 버전을 기록하고, 제조사 호환 목록이나 수정 내역을 확인하세요. 프로필 이름만 같다고 실제 모든 조합이 자동으로 검증되는 것은 아닙니다.

4. 반환된 스트림 URI를 그대로 시험하세요

관제 프로그램이 GetStreamUri로 받은 RTSP 주소를 확인할 수 있다면 그 주소를 지원 플레이어에서 시험합니다. 주소의 카메라 IP가 잘못됐거나 내부 전용 주소, 다른 포트 또는 사용할 수 없는 채널을 가리키면 검색은 되지만 영상은 나오지 않습니다.

카메라가 NAT 뒤에 있거나 여러 네트워크 인터페이스를 사용하면 외부 클라이언트가 도달할 수 없는 주소를 반환할 수 있습니다. 카메라와 관제 서버를 같은 네트워크에서 먼저 시험하고, 라우팅·VLAN·방화벽을 하나씩 추가하세요.

URI를 임의의 제조사 경로로 바꾸기 전에 반환값과 실제 카메라 설정을 비교합니다. 메인 스트림과 서브 스트림의 채널·프로필이 바뀌지 않았는지도 확인하세요.

5. RTSP 연결 뒤에는 전송과 코덱을 확인합니다

RTSP 인증이 성공해도 RTP 영상 패킷이 방화벽에서 차단되거나 UDP 포트 범위가 맞지 않으면 화면이 멈출 수 있습니다. 우선 RTSP over TCP로 시험해 제어와 미디어가 같은 연결을 사용하는 경로를 확인한 뒤, 필요하면 UDP로 범위를 넓힙니다.

패킷이 들어오지만 화면이 검다면 카메라 코덱, 해상도, 프로필·레벨과 클라이언트 디코더 지원을 봅니다. 오래된 NVR이 H.265를 읽지 못하거나 높은 해상도·프레임률을 지원하지 않는 경우가 있습니다. 서브 스트림을 H.264와 낮은 해상도로 설정해 비교하면 코덱 문제를 빠르게 분리할 수 있습니다.

RTSP와 RTP의 관계는 RTSP 2.0 표준과 제품 문서를 참고하고, 실제 전송 옵션은 사용하는 서버·클라이언트의 지원 범위를 확인합니다.

6. 브라우저에서만 영상이 안 보이는 경우

일반 웹페이지는 카메라의 RTSP 주소를 video 요소에서 직접 재생하는 방식이 보편적으로 지원되지 않습니다. 카메라 원본을 VLC에서 확인한 다음, 미디어 서버가 RTSP를 받아 WebRTC나 HLS로 제공하는 구간을 별도로 시험해야 합니다.

브라우저용 변환 경로가 있어도 원본 코덱을 브라우저가 디코딩하지 못하면 검은 화면이 나올 수 있습니다. H.264 서브 스트림 사용, 지원 코덱으로 재인코딩, 브라우저와 운영체제 조합 변경을 비교하세요. MediaMTX WebRTC 코덱 안내도 코덱별 브라우저 제한을 구분해 설명합니다.

CCTV 브라우저 연결 구조를 함께 보면 카메라 수신과 웹 전달을 나누어 진단할 수 있습니다.

7. 자주 묻는 질문

ONVIF Device Manager에서는 나오는데 다른 VMS에서는 안 나옵니다.
두 클라이언트가 사용하는 프로필·인증·전송·코덱 조건이 다를 수 있습니다. 성공한 프로그램의 URI와 미디어 설정을 기준으로 차이를 비교하세요.

PTZ는 되는데 영상만 안 나올 수 있나요?
가능합니다. 장치 제어 서비스와 미디어 서비스, RTSP 수신은 서로 다른 단계이므로 PTZ 성공만으로 영상 경로를 판단할 수 없습니다.

카메라를 초기화하면 해결될까요?
초기화 전에 사용자·시간·프로필·URI·네트워크와 코덱을 기록하세요. 근거 없이 초기화하면 원인 정보와 운영 설정을 잃을 수 있습니다.

기본 개념은 ONVIF와 RTSP 차이, 코덱 선택은 H.264와 H.265 비교에서 이어서 확인할 수 있습니다.

자료 확인일: 2026년 9월 14일. ONVIF·IETF·MediaMTX 공식 문서를 바탕으로 작성했으며 실제 메뉴와 지원 기능은 카메라·VMS 제조사 문서를 우선합니다.