メインコンテンツへスキップ

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  # 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 ウィンドウに接続するメインエントリポイント。