> For the complete documentation index, see [llms.txt](https://docs.gremsy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gremsy.com/payloads/general/advanced-configuration/how-to-check-the-video-stream.md).

# How to check the video stream

{% hint style="warning" %}
only available on the **software package v304 or higher**
{% endhint %}

{% hint style="info" %}
Stream Type: there are 3 options for the stream\
1\. RTSP\
2\. RTPUDP, with multicast was enabled by default (stream to 239.255.0.1)\
3\. KLV stream based on the RTPUDP, with multicast was enabled by default. It will\
stream the data to multicast group "239.255.0.1"
{% endhint %}

**Confirm the payload IP**\
You need to confirm the payload IP address; it need to be the same with your subnet

**Get the H.264 RTP** stream then show to monitor, make sure the port is correct

```
gst-launch-1.0 -v udpsrc multicast-group=239.255.0.1 port=5554 \
    caps="application/x-rtp, media=video, encoding-name=H264" ! \
    rtph264depay ! avdec_h264 ! autovideosink
```

**Get the H.265 RTP** stream then show to monitor, make sure the port is correct

```
gst-launch-1.0 -v udpsrc multicast-group=239.255.0.1 port=5554 \
    caps="application/x-rtp, media=video, encoding-name=H265" ! \    
    rtph265depay ! avdec_h265 ! autovideosink
```

**RTSP-TCP**

```
gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/<stream> \
    protocols=tcp latency=200 ! \
    rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
```

**RTSP-UDP**

```
gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/<stream> \
    protocols=udp latency=200 ! \
    rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
```

**KLV Stream (Based on RTPUDP)**

```
gst-launch-1.0 -v udpsrc multicast-group=239.255.0.1 port=8554 caps="application/xrtp,
media=video,payload=96,clock-rate=90000" ! rtpmp2tdepay ! tsdemux ! h264parse ! avdec_h264 !
videoconvert ! autovideosink sync=false
```

## How to use RTP Multicast

<figure><img src="/files/KTLbSFLoNb9pTkcTq0L0" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Disable** the **Multicast** option before configuring the stream.

**Host IP:** The receiving device must be on the **same subnet** as the payload.
{% endhint %}

<figure><img src="/files/eJQm19OMDbjwOk6RXkKw" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**EO Port:** Ensure that the configured stream port matches the port specified in the command line. If the port numbers do not match, the video stream will not be received successfully.
{% endhint %}

```
// EO Stream command
gst-launch-1.0 -v udpsrc multicast-group=239.255.0.1 port=5554 caps="application/x-rtp, media=video, encoding-name=H264" ! rtph264depay ! avdec_h264 ! autovideosink
```

<figure><img src="/files/UsxWJG4BLzTqeSXYUrG2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**IR Port:** Ensure that the configured stream port matches the port specified in the command line. If the port numbers do not match, the video stream will not be received successfully.
{% endhint %}

```
// IR Stream command
gst-launch-1.0 -v udpsrc multicast-group=239.255.0.1 port=8554 caps="application/x-rtp, media=video, encoding-name=H264" ! rtph264depay ! avdec_h264 ! autovideosink
```

#### Notes

* **Ubuntu Native is required.** The current streaming pipeline is **not supported on WSL (Windows Subsystem for Linux)** and may result in unexpected errors or unstable behavior.
* **Known Issue:** Configuring both **RTP (UDP)** and **KLV (UDP)** streams causes **Payload-Plus** to crash. This behavior has been verified using the latest version of Payload-Plus. If RTP or KLV streaming is required, consider using a separate communication channel for payload control.
* **Advantage:** This streaming method provides lower latency than the other available streaming options. Measured end-to-end latency is approximately **200 ms** under test conditions.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.gremsy.com/payloads/general/advanced-configuration/how-to-check-the-video-stream.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
