GStreamer ile RTSP Yayını – Gerçek Bir Müşteri Sorusu&Bir Vaka (UDP ve TCP)
Bu makale, sunucumuzdan RTSP akışıyla ilgili gerçek bir müşteri desteği görüşmesini belgelemektedir. termal kameralar kullanma Gstreamer.
Bir şekilde paylaşıyoruz S&Bir diyalog formatı böylece benzer sorunlarla karşılaşan diğer müşteriler sorun giderme sürecini hızla takip edebilir.
İçindekiler
1. RTSP Akış Adresi
Müşteri:
Merhaba, termal kameralarınızı aldık, her şey yolunda gidiyor, Teşekkürler, ancak RTSP akışının adresini bulamıyoruz. Nedir /stream/sub?
Destek:
Kameramızın RTSP akış URL'si::
rtsp://192.168.2.254:554/live
2. RTSP Gecikme Sorunu
Müşteri:
RTSP akışını test ettik ve yönetim paneli önizlemesine kıyasla kayda değer bir gecikme fark ettik.
Destek:
Bu beklenen davranıştır. Web yönetimi önizlemesi, dahili olarak optimize edilmiş bir ardışık düzen kullanır, RTSP ağ koşullarına ve istemci arabelleğe almaya bağlıdır.
3. UDP Akış Gereksinimi
Müşteri:
RTSP akışı, UDP bekleyen oynatıcımda da çalışmıyor. UDP akışını nasıl alabilirim?
Destek:
Hangi oynatıcıyı kullandığınızı öğrenebilir miyim? VLC?
Müşteri:
Oynatıcım bir Android uygulamasına entegre edilmiş GStreamer'dır.
4. UDP Tek Noktaya Yayın ve UDP Çok Noktaya Yayın
Destek:
GStreamer istemcisi cihaza şunu kullanarak erişiyorsa: UDP çok noktaya yayın, şu anda bu desteklenmiyor.
kullanıp kullanmadığınızı açıklığa kavuşturmamız gerekiyor. UDP tek noktaya yayın veya UDP çok noktaya yayın.
Müşteri:
GStreamer boru hattımın kullandığı rtspsrc ile udp içinde ayarlanmış protocols parametre.
kullanmadım udp-mcast değer, yani UDP tek noktaya yayın olmalı.
5. Platform Açıklaması
Destek:
Bu GStreamer Windows'ta çalışıyor mu?, Linux, veya Android?
Yazılım mühendisimiz bizim tarafımızda test yapmak istiyor.
Müşteri:
Uygulamam Android'de GStreamer kullanıyor, Ancak rtspsrc Linux'ta da test edilebilir.
6. Bilinen Linux Gstreamer Sorunu (Referans Vakası)
Destek:
Benzer bir konunun Çin teknik forumunda tartışıldığını bulduk.
Çözüm:
Aşağıdaki eklentiyi kaldırın:
sudo apt-get remove gstreamer1.0-plugins-ugly
Bu eklenti bazı kameraların tanıyamayacağı RTSP başlıkları gönderebilir, hizmet reddi hatasıyla sonuçlanan.

Referans:
https://forums.developer.nvidia.com/t/rtsp-gstreamer-simple-recieve-and-store-in-file/157535/14
bilgilerinizi verebilir misiniz? rtspsrc boru hattı (Linux tercih edildi)? Bir uygulama sürümü de test için kabul edilebilir.
7. RTSP AÇIKLAMASI Başlık Uyumluluğu
Destek:
Bir diğer olası neden ise RTSP'nin BETİMLEMEK istek içermiyor:
application/sdp
cihaz servisi reddedebilir.
Bu doğrulama mantığı çok katı olabilir, ve gelecekteki cihaz yazılımı güncellemelerinde bu durumu hafifletmeyi planlıyoruz.
8. Android GStreamer Sürüm Onayı
Müşteri:
Android'de, kullanıyorum:
- gstreamer-1.0-android-evrensel-1.26.8
Çirkin eklentiler içermez. Makefile'ım şunları içeriyor:
GSTREAMER_PLUGINS := \
coreelements \
playback \
typefindfunctions \
rtsp \
rtp \
rtpmanager \
udp \
tcp \
videoparsersbad \
androidmedia \
opengl
9. Önerilen GStreamer Çalışma Zamanı Parametreleri
Destek:
Denemenizi öneririz short-header=true içinde rtspsrc.
Müşteri:
Bu başlık UDP için mi?
Destek:
Bu bir RTSP başlık seçeneğidir ve genellikle uyumluluğu artırır.
Örnekler:
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. Dahili Test Sonuçları (Linux)
Destek:
Mühendisimiz RTSP akışını şunu kullanarak test etti: Gstreamer 1.0 Linux'ta, ve doğru çalıştı.


TCP örneği:
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
protocols=tcp \
src. \
! decodebin \
! autovideosink
UDP örneği (kaldırmak protocols=tcp):
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
src. \
! decodebin \
! autovideosink
Linux ve Android Gstreamer arasındaki iç mantık aynıdır, bu nedenle davranışlar platformlar arasında tutarlı olmalıdır.
11. Çözüm
Bu örnekte GStreamer ile RTSP kullanılırken birkaç önemli nokta vurgulanıyor:
- RTSP URL'si:
rtsp://<camera_ip>:554/live - UDP tek noktaya yayın desteklenir; UDP çok noktaya yayın değil
- Sorunlu eklentilerden kaçının (Yalnızca Linux)
- Denemek
short-header=truedaha iyi uyumluluk için - Linux test sonuçları genellikle Android'e uygulanabilir
Benzer sorunlarla karşılaşırsanız, lütfen bilgilerinizi sağlayın GStreamer işlem hattı veya test istemcisi, ve mühendislik ekibimiz daha fazla yardımcı olacaktır.

Bir soru sor
Yanıtınız için teşekkür ederiz. ✨