> ## 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.

# stellarHD GStreamer 가이드

> 고성능 비디오 스트리밍 및 캡처를 위해 stellarHD 카메라에서 GStreamer를 사용하는 방법에 대한 가이드.

## 개요

GStreamer는 효율적인 비디오 스트리밍 및 처리를 가능하게 하는 강력한 멀티미디어 프레임워크입니다. stellarHD는 **MJPEG** 및 원시 **YUYV** 압축 형식을 지원하며 최대 60 FPS의 고프레임 속도를 지원합니다.

## 요구 사항

이를 위해서는 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
```

## 장치 노드 식별

stellarHD 카메라를 연결하면 Linux 커널은 (V4L2를 통해) 일반적으로 네 개의 장치 노드(예: `/dev/video0` \~ `/dev/video3`)를 생성합니다.

* **MJPEG / YUYV:** 그룹의 첫 번째 노드(예: `/dev/video0`)에 있습니다.

`v4l2-ctl`을 사용하여 장치 노드를 확인할 수 있습니다:

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

stellarHD에 해당하는 항목을 찾으세요. 해당 카메라와 연결된 경로 목록이 표시됩니다.

## MJPEG 모드

MJPEG 모드는 stellarHD에서 최대 60 FPS의 높은 프레임 속도를 달성하는 주된 방법입니다.

### 로컬 미리보기

`/dev/video0`가 MJPEG 노드라고 가정:

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

### UDP 네트워크 스트림

MJPEG를 다른 장치(예: IP `192.168.1.50`, 포트 `5600`)로 네트워크를 통해 스트리밍하려면:

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1600,height=1200,framerate=60/1 ! \
    rtpjpegpay ! 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)JPEG, payload=(int)26" ! \
    rtpjpegdepay ! jpegdec ! videoconvert ! autovideosink
```

## 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=5/1 ! \
    videoconvert ! autovideosink
```

<Note>
  YUYV 모드에서 지원되는 해상도 및 프레임 속도 조합은 [stellarHD 기술 사양](/ko/stellarHD/specs/stellarHD#지원되는-해상도-및-프레임-속도)을 참조하세요.
</Note>

## 소프트웨어 인코딩 (H.264)

stellarHD에는 내장 하드웨어 H.264 인코더가 없으므로, H.264를 네트워크를 통해 스트리밍해야 하는 경우 GStreamer를 사용하여 소프트웨어 인코딩을 수행할 수 있습니다.

```bash theme={null}
gst-launch-1.0 v4l2src device=/dev/video0 ! \
    image/jpeg,width=1280,height=720,framerate=60/1 ! \
    jpegdec ! queue ! x264enc tune=zerolatency bitrate=4000 speed-preset=ultrafast ! \
    h264parse ! rtph264pay config-interval=10 pt=96 ! \
    udpsink host=192.168.1.50 port=5600
```
