Przesyłanie strumieniowe RTSP za pomocą GStreamera – prawdziwy klient Q&Sprawa (UDP kontra TCP)
This article documents a real customer support conversation regarding RTSP streaming from our kamery termowizyjne używając GStreamer.
We are sharing it in a Q&A dialog format so other customers facing similar issues can quickly follow the troubleshooting process.
Spis treści
1. RTSP Stream Address
Customer:
Cześć, we received your thermal cameras, everything works fine, Dziękuję, but we can’t seem to find the address for the RTSP stream. What is the /stream/sub?
Wsparcie:
Our camera RTSP stream URL is:
rtsp://192.168.2.254:554/live
2. RTSP Latency Concern
Customer:
We tested the RTSP stream and noticed considerable latency compared to the management panel preview.
Wsparcie:
This is expected behavior. The web management preview uses an internal optimized pipeline, while RTSP depends on network conditions and client buffering.
3. UDP Streaming Requirement
Customer:
The RTSP stream also doesn’t work on my player that expects UDP. How can I get a UDP stream?
Wsparcie:
May I know what player you are using? VLC?
Customer:
My player is GStreamer integrated in an Android app.
4. UDP Unicast vs UDP Multicast
Wsparcie:
If the GStreamer client accesses the device using Rozsyłanie grupowe UDP, this is currently nieobsługiwane.
We need to clarify whether you are using UDP unicast lub Rozsyłanie grupowe UDP.
Customer:
My GStreamer pipeline uses rtspsrc z udp set in the protocols parametr.
I did not use the udp-mcast value, so it should be UDP unicast.
5. Platform Clarification
Wsparcie:
Is this GStreamer running on Windows, Linuksa, or Android?
Our software engineer would like to test on our side.
Customer:
My app uses GStreamer on Android, but rtspsrc can also be tested on Linux.
6. Known Linux GStreamer Issue (Reference Case)
Wsparcie:
We found a similar issue discussed in a Chinese technical forum.
Rozwiązanie:
Uninstall the following plugin:
sudo apt-get remove gstreamer1.0-plugins-ugly
This plugin may send RTSP headers that some cameras cannot recognize, resulting in a denial-of-service error.

Reference:
https://forums.developer.nvidia.com/t/rtsp-gstreamer-simple-recieve-and-store-in-file/157535/14
Could you provide your rtspsrc pipeline (Linux preferred)? An app version is also acceptable for testing.
7. RTSP DESCRIBE Header Compatibility
Wsparcie:
Another possible reason is that if the RTSP DESCRIBE request does not contain:
application/sdp
the device may refuse the service.
This validation logic may be too strict, and we plan to relax this condition in future firmware updates.
8. Android GStreamer Version Confirmation
Customer:
On Android, I am using:
- gstreamer-1.0-android-universal-1.26.8
It does not include ugly plugins. My Makefile contains:
GSTREAMER_PLUGINS := \
coreelements \
playback \
typefindfunctions \
rtsp \
rtp \
rtpmanager \
udp \
tcp \
videoparsersbad \
androidmedia \
opengl
9. Suggested GStreamer Runtime Parameters
Wsparcie:
We recommend trying short-header=true W rtspsrc.
Customer:
Is that header for UDP?
Wsparcie:
It is an RTSP header option and often improves compatibility.
Examples:
gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/<path> short-header=true
gst-launch-1.0 rtspsrc location=rtsp://<ip>:<port>/<path> do-rtcp=false short-header=true
10. Internal Test Results (Linuksa)
Wsparcie:
Our engineer tested the RTSP stream using GStreamer 1.0 on Linux, and it worked correctly.


TCP example:
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
protocols=tcp \
src. \
! decodebin \
! autovideosink
UDP example (remove protocols=tcp):
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
src. \
! decodebin \
! autovideosink
The internal logic between Linux and Android GStreamer is the same, so behavior should be consistent across platforms.
11. Wniosek
This case highlights several important points when using RTSP with GStreamer:
- RTSP URL:
rtsp://<camera_ip>:554/live - UDP unicast is supported; UDP multicast is not
- Avoid problematic plugins (Linux only)
- Próbować
short-header=truefor better compatibility - Linux test results can generally be applied to Android
If you encounter similar issues, please provide your GStreamer pipeline or test client, and our engineering team will assist further.

Zadać pytanie
Twoja wiadomość została wysłana