RTSP հոսք GStreamer-ով – Իրական հաճախորդ Ք&Գործ (UDP ընդդեմ TCP)
Այս հոդվածը փաստում է հաճախորդների աջակցության իրական խոսակցություն՝ կապված RTSP հոսքի հետ մեր կողմից ջերմային տեսախցիկներ օգտագործում Գրազ.
Մենք այն կիսում ենք ա Q&Երկխոսության ձևաչափ այնպես որ նմանատիպ խնդիրներ ունեցող այլ հաճախորդներ կարող են արագ հետևել անսարքությունների վերացման գործընթացին.
Բովանդակություն
1. RTSP հոսքի հասցեն
Հաճախորդ:
Բարեւ, մենք ստացանք ձեր ջերմային տեսախցիկները, ամեն ինչ լավ է աշխատում, շնորհակալություն, բայց մենք կարծես թե չենք կարող գտնել RTSP հոսքի հասցեն. Ինչ է /stream/sub?
աջակցություն:
Մեր տեսախցիկի RTSP հոսքի URL-ն է:
rtsp://192.168.2.254:554/live
2. RTSP ուշացման մտահոգություն
Հաճախորդ:
Մենք փորձարկեցինք RTSP հոսքը և նկատեցինք զգալի ուշացում՝ համեմատած կառավարման վահանակի նախադիտման հետ.
աջակցություն:
Սա սպասելի պահվածք է. Վեբ կառավարման նախադիտումն օգտագործում է ներքին օպտիմիզացված խողովակաշար, մինչդեռ RTSP-ն կախված է ցանցի պայմաններից և հաճախորդի բուֆերացումից.
3. UDP հոսքի պահանջ
Հաճախորդ:
RTSP հոսքը նույնպես չի աշխատում իմ նվագարկչի վրա, որն ակնկալում է UDP. Ինչպես կարող եմ ստանալ UDP հոսք?
աջակցություն:
Կարող եմ իմանալ, թե ինչ խաղացող եք օգտագործում? VLC?
Հաճախորդ:
Իմ նվագարկիչը GStreamer-ն է՝ ինտեգրված Android հավելվածում.
4. UDP Unicast ընդդեմ UDP Multicast
աջակցություն:
Եթե GStreamer հաճախորդը մուտք է գործում սարք՝ օգտագործելով UDP բազմաֆունկցիոնալ, սա ներկայումս չի աջակցվում.
Մենք պետք է հստակեցնենք, թե արդյոք դուք օգտագործում եք UDP unicast կամ UDP բազմաֆունկցիոնալ.
Հաճախորդ:
Իմ GStreamer խողովակաշարն օգտագործում է rtspsrc հետ udp դրված է protocols պարամետր.
Ես չեմ օգտագործել udp-mcast արժեքը, ուստի այն պետք է լինի UDP unicast.
5. Պլատֆորմի պարզաբանում
աջակցություն:
Այս GStreamer-ն աշխատում է Windows-ով, Linux, կամ Android?
Մեր ծրագրային ապահովման ինժեները ցանկանում է փորձարկել մեր կողմից.
Հաճախորդ:
Իմ հավելվածն օգտագործում է GStreamer Android-ում, բայց rtspsrc կարող է փորձարկվել նաև Linux-ով.
6. Հայտնի Linux GStreamer խնդիր (Հղման գործ)
աջակցություն:
Մենք գտանք նմանատիպ հարց, որը քննարկվել է չինական տեխնիկական ֆորումում.
Լուծում:
Տեղահանեք հետևյալ փլագինը:
sudo apt-get remove gstreamer1.0-plugins-ugly
Այս փլագինը կարող է ուղարկել RTSP վերնագրեր, որոնք որոշ տեսախցիկներ չեն կարող ճանաչել, ինչը հանգեցնում է ծառայության մերժման սխալի.

Տեղեկանք:
https://forums.developer.nvidia.com/t/rtsp-gstreamer-simple-recieve-and-store-in-file/157535/14
Կարող եք տրամադրել ձեր rtspsrc խողովակաշար (Linux-ը նախընտրելի է)? Հավելվածի տարբերակը նույնպես ընդունելի է թեստավորման համար.
7. RTSP DESCRIBE վերնագրի համատեղելիություն
աջակցություն:
Մեկ այլ հնարավոր պատճառն այն է, որ եթե RTSP ՆԿԱՐԱԳՐԵԼ հարցումը չի պարունակում:
application/sdp
սարքը կարող է հրաժարվել ծառայությունից.
Վավերացման այս տրամաբանությունը կարող է չափազանց խիստ լինել, և մենք նախատեսում ենք հանգստացնել այս վիճակը ապագա որոնվածի թարմացումներում.
8. Android GStreamer տարբերակի հաստատում
Հաճախորդ:
Android-ում, ես օգտագործում եմ:
- gstreamer-1.0-android-universal-1.26.8
Այն չի ներառում տգեղ պլագիններ. Իմ Makefile-ը պարունակում է:
GSTREAMER_PLUGINS := \
coreelements \
playback \
typefindfunctions \
rtsp \
rtp \
rtpmanager \
udp \
tcp \
videoparsersbad \
androidmedia \
opengl
9. Առաջարկվող GStreamer Runtime Պարամետրեր
աջակցություն:
Խորհուրդ ենք տալիս փորձել short-header=true մեջ rtspsrc.
Հաճախորդ:
Դա UDP-ի վերնագիրն է?
աջակցություն:
Դա RTSP վերնագրի տարբերակ է և հաճախ բարելավում է համատեղելիությունը.
Օրինակներ:
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. Ներքին փորձարկման արդյունքներ (Linux)
աջակցություն:
Մեր ինժեները փորձարկել է RTSP հոսքը՝ օգտագործելով Գրազ 1.0 Linux-ում, և ճիշտ աշխատեց.


TCP օրինակ:
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
protocols=tcp \
src. \
! decodebin \
! autovideosink
UDP օրինակ (հեռացնել protocols=tcp):
gst-launch-1.0 rtspsrc location="rtsp://192.168.2.254/live" \
name=src \
latency=0 \
src. \
! decodebin \
! autovideosink
Ներքին տրամաբանությունը Linux-ի և Android GStreamer-ի միջև նույնն է, այնպես որ վարքագիծը պետք է համահունչ լինի հարթակներում.
11. Եզրակացություն
Այս դեպքը ընդգծում է մի քանի կարևոր կետ GStreamer-ով RTSP-ն օգտագործելիս:
- RTSP URL:
rtsp://<camera_ip>:554/live - UDP unicast Աջակցվում է; UDP multicast չէ
- Խուսափեք խնդրահարույց պլագիններից (Միայն Linux)
- Փորձիր
short-header=trueավելի լավ համատեղելիության համար - Linux-ի թեստի արդյունքները սովորաբար կարող են կիրառվել Android-ի համար
Եթե դուք բախվում եք նմանատիպ խնդիրների, խնդրում եմ տրամադրեք ձեր GStreamer խողովակաշար կամ փորձնական հաճախորդ, և մեր ինժեներական թիմը հետագայում կօգնի.

Հարց տվեք
Ձեր հաղորդագրությունն ուղարկված է