> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dwe.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# exploreHD GStreamer ガイド

> 高性能な映像ストリーミングとキャプチャのために exploreHD カメラを GStreamer と組み合わせて使用するためのガイド。

## 概要

GStreamer は強力なマルチメディアフレームワークで、効率的な映像ストリーミングと処理を可能にします。exploreHD はハードウェアアクセラレートされた **H.264**、**MJPEG**、生の **YUYV** など複数の圧縮フォーマットをサポートしています。

## 必要要件

このために Linux コンピュータに GStreamer をインストールしておく必要があります。以下のインストールコマンドで必要なパッケージを取得できます。

```bash theme={null}
sudo apt install v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-plugins-ugly
```

## デバイスノードの特定

exploreHD カメラを接続すると、Linux カーネル(V4L2 経由)は通常 4 つのデバイスノード(例: `/dev/video0` から `/dev/video3`)を作成します。

* **MJPEG / YUYV:** 通常はグループの最初のノード(例: `/dev/video0`)にあります。
* **ハードウェア H.264:** 通常はグループの 3 番目のノード(例: `/dev/video2`)にあります。

`v4l2-ctl` でデバイスノードを確認できます:

```bash theme={null}
v4l2-ctl --list-devices
```

exploreHD に対応するエントリを探してください。そのカメラに関連付けられたパスが一覧表示されます。

## ハードウェア H.264 モード

exploreHD は内蔵のハードウェア H.264 エンコーディングを搭載しており、低ビットレートで高品質な映像を最小限の CPU 負荷で提供します。

### ローカルプレビュー

H.264 ストリームをローカルで表示するには(`/dev/video2` が H.264 ノードと仮定):

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
    video/x-h264,width=1920,height=1080,framerate=30/1 ! \
    h264parse ! avdec_h264 ! autovideosink
```

### UDP ネットワークストリーム

H.264 映像を他のデバイス(例: IP `192.168.1.50`、ポート `5600`)へネットワーク経由でストリーミングするには:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video2 ! \
    video/x-h264,width=1920,height=1080,framerate=30/1 ! \
    h264parse ! queue ! rtph264pay config-interval=10 pt=96 ! \
    udpsink host=192.168.1.50 port=5600
```

別のコンピュータでストリームを受信するには、次のコマンドを使用できます:

```bash theme={null}
gst-launch-1.0 -v udpsrc port=5600 ! \
    "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! \
    rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
```

## MJPEG モード

MJPEG モードは互換性が高く、低遅延で良好な画質を提供します。

### ローカルプレビュー

`/dev/video0` を MJPEG ノードと仮定:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1920,height=1080,framerate=30/1 ! \
    jpegdec ! autovideosink
```

### UDP ネットワークストリーム

MJPEG をネットワーク経由でストリーミングするには:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1920,height=1080,framerate=30/1 ! \
    rtpjpegpay ! udpsink host=192.168.1.50 port=5600
```

## YUYV モード

USB の帯域幅制限により、YUYV は通常、高解像度では低いフレームレートに制限されることに注意してください。

### ローカルプレビュー

`/dev/video0` をノードと仮定:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! \
    videoconvert ! autovideosink
```

<Note>
  YUYV モードでサポートされる解像度とフレームレートの組み合わせは、[exploreHD 技術仕様](/ja/exploreHD/specs/exploreHD#サポートされる解像度とフレームレート)を参照してください。1080p では YUYV は 5 FPS に制限されます。
</Note>

## 高度なビットレート制御

H.264 モード使用時には、パイプライン実行中に V4L2 コントロールを使用してビットレートやその他のエンコーダパラメータを調整できます。

```bash theme={null}
# 例: ビットレートを 5Mbps に設定
v4l2-ctl -d /dev/video2 --set-ctrl=video_bitrate=5000000
```
