메인 콘텐츠로 건너뛰기

OpenCV 가이드 리포지토리

DWE.ai 카메라용 전체 소스 코드와 예제 프로젝트를 GitHub에서 확인하세요.

기능

  • 원시 RTP/UDP: GStreamer나 외부 의존성이 필요하지 않습니다.
  • 고해상도: 1080p 30fps 이상의 스트림에 최적화되어 있습니다.
  • 10비트 지원: 10비트 YUV 4:4:4(yuv444p10le) 및 표준 8비트 형식을 처리합니다.
  • 저지연: 백그라운드 수신 스레드와 멀티스레드 디코딩을 사용합니다.
  • 모듈식 설계: 네트워크 처리, 디코딩, 표시 로직을 분리합니다.

사전 요구 사항

  • Python 3.8 이상
  • FFmpeg 라이브러리(보통 PyAV를 통해 자동으로 설치됨)

설치

리포지토리의 3-receive-dweos-h264/python 디렉터리로 이동하여 환경을 설정합니다:
  1. 가상 환경을 만듭니다:
    python3 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. 필요한 의존성을 설치합니다:
    pip install -r requirements.txt
    

사용법

  1. H.264 RTP 스트림을 시작합니다(기본값은 127.0.0.1:5600).
  2. 수신기를 실행합니다:
    python main.py
    

프로젝트 구조

  • rtp_receiver.py: 원시 UDP 패킷 수신과 H.264 NAL 재조립(FU-A 및 STAP-A 포함)을 처리합니다.
  • h264_decoder.py: 고성능 H.264 디코딩을 위해 PyAV를 래핑합니다.
  • main.py: 수신기와 디코더를 OpenCV 창에 연결하는 메인 진입점입니다.