RTSP GStreamer UDP ထုတ်လွှင့်မှု & အပူကင်မရာများအတွက် Latency Fix

GStreamer ဖြင့် RTSP လွှင့်ခြင်း - အမှန်တကယ် ဖောက်သည် မေး&ဖြစ်ရပ်မှန်တစ်ခု (UDP နှင့် TCP)

ဤဆောင်းပါးသည် ကျွန်ုပ်တို့ထံမှ RTSP ထုတ်လွှင့်ခြင်းနှင့်ပတ်သက်၍ တကယ့်ဖောက်သည်ပံ့ပိုးကူညီမှုစကားဝိုင်းကို မှတ်တမ်းတင်ထားသည်။ အပူကင်မရာများ အသုံးပြုခြင်း gstheamer.
အဲဒါကို မျှဝေပေးတာပါ။ မေး&ဒိုင်ယာလော့ဂ်ဖော်မတ် ထို့ကြောင့် အလားတူပြဿနာများရင်ဆိုင်နေရသော အခြားဖောက်သည်များသည် ပြဿနာဖြေရှင်းခြင်းလုပ်ငန်းစဉ်ကို လျင်မြန်စွာလိုက်နာနိုင်မည်ဖြစ်သည်။.


1. RTSP ထုတ်လွှင့်မှုလိပ်စာ

ဖောက်သည်:
ဟလို, သင့်အပူကင်မရာများကို ကျွန်ုပ်တို့ လက်ခံရရှိထားပါသည်။, အားလုံးအဆင်ပြေပါတယ်။, ကျေးဇူးတင်ပါသည်, သို့သော် RTSP ထုတ်လွှင့်မှုအတွက် လိပ်စာကို ကျွန်ုပ်တို့ ရှာမတွေ့ပါ။. အဘယ်နည်း /stream/sub?

ထောက်ပံ့:
ကျွန်ုပ်တို့၏ကင်မရာသည် RTSP ထုတ်လွှင့်မှု URL ဖြစ်သည်။:

rtsp://192.168.2.254:554/live

2. RTSP Latency စိုးရိမ်မှု

ဖောက်သည်:
ကျွန်ုပ်တို့သည် RTSP ထုတ်လွှင့်မှုကို စမ်းသပ်ပြီး စီမံခန့်ခွဲမှုအကန့် အစမ်းကြည့်ရှုခြင်းနှင့် နှိုင်းယှဉ်ပါက ကြာမြင့်ချိန်ကို သတိပြုမိပါသည်။.

ထောက်ပံ့:
ဒါက မျှော်လင့်ထားတဲ့ အပြုအမူပါ။. ဝဘ်စီမံခန့်ခွဲမှု အစမ်းကြည့်ရှုမှုတွင် အတွင်းပိုင်း အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသော ပိုက်လိုင်းကို အသုံးပြုသည်။, RTSP သည် network အခြေအနေများနှင့် client buffering ပေါ်တွင်မူတည်သည်။.


3. UDP ထုတ်လွှင့်မှုလိုအပ်ချက်

ဖောက်သည်:
RTSP စီးကြောင်းသည် UDP ကိုမျှော်လင့်ထားသည့် ကျွန်ုပ်၏ပလေယာတွင် အလုပ်မလုပ်ပါ။. UDP stream ကိုဘယ်လိုရနိုင်မလဲ။?

ထောက်ပံ့:
ဘယ်ကစားသမားကို သုံးနေလဲ သိပါရစေ? VLC?

ဖောက်သည်:
ကျွန်ုပ်၏ကစားသမားသည် Android အက်ပ်တစ်ခုတွင် GStreamer ပေါင်းစပ်ထားသည်။.


4. UDP Unicast နှင့် UDP Multicast

ထောက်ပံ့:
GStreamer ဖောက်သည်သည် စက်ပစ္စည်းကို အသုံးပြု၍ ဝင်ရောက်ပါက၊ multicast ubadp, ဒါက လောလောဆယ် မထောက်ခံပါ။.
သင်အသုံးပြုနေခြင်းရှိမရှိ ရှင်းလင်းရန် လိုအပ်ပါသည်။ UDP unicast သို့မဟုတ် multicast ubadp.

ဖောက်သည်:
ကျွန်ုပ်၏ GStreamer ပိုက်လိုင်းကို အသုံးပြုသည်။ rtspsrc နှင့် udp ၌သတ်မှတ်ထားသည်။ protocols ကန့်သတ်ချက်.
ကျွန်တော် မသုံးခဲ့ပါဘူး။ udp-mcast တန်ဖိုး, ဒါကြောင့် UDP unicast ဖြစ်သင့်တယ်။.


5. ပလပ်ဖောင်း ရှင်းလင်းချက်

ထောက်ပံ့:
ဤ GStreamer သည် Windows ပေါ်တွင် အလုပ်လုပ်နေပါသလား။, Linux ကို, သို့မဟုတ် Android?
ကျွန်ုပ်တို့၏ဆော့ဖ်ဝဲအင်ဂျင်နီယာသည် ကျွန်ုပ်တို့ဘက်မှ စမ်းသပ်လိုပါသည်။.

ဖောက်သည်:
ကျွန်ုပ်၏အက်ပ်သည် Android တွင် GStreamer ကိုအသုံးပြုသည်။, ဒါပေမဲ့ rtspsrc Linux တွင်လည်း စမ်းသပ်နိုင်သည်။.


6. Linux GStreamer Issue ကိုလူသိများသည်။ (အကိုးအကားကိစ္စ)

ထောက်ပံ့:
တရုတ်နည်းပညာဖိုရမ်တစ်ခုတွင် ဆွေးနွေးခဲ့သည့် အလားတူပြဿနာကို ကျွန်ုပ်တို့တွေ့ရှိခဲ့သည်။.

ဖြေရှင်းချက်:
အောက်ပါပလပ်အင်ကို ဖြုတ်ပါ။:

sudo apt-get remove gstreamer1.0-plugins-ugly

ဤပလပ်အင်သည် အချို့ကင်မရာများ မမှတ်မိနိုင်သော RTSP ခေါင်းစီးများကို ပေးပို့နိုင်သည်။, ဝန်ဆောင်မှု ငြင်းပယ်ခြင်းဆိုင်ရာ အမှားအယွင်း ဖြစ်ပေါ်ခဲ့သည်။.

RTSP GStreamer UDP Streaming & Latency Fix for Thermal Cameras 1

တိုးကားခြင်း:
https://forums.developer.nvidia.com/t/rtsp-gstreamer-simple-recieve-and-store-in-file/157535/14

ပေးစွမ်းနိုင်ပါသလား။ rtspsrc ပိုက်လိုင်း (Linux ကို ဦးစားပေးသည်။)? အက်ပ်ဗားရှင်းကိုလည်း စမ်းသပ်ရန် လက်ခံနိုင်သည်။.


7. RTSP ဖော်ပြပါ ခေါင်းစီး လိုက်ဖက်ညီမှု

ထောက်ပံ့:
နောက်ထပ်ဖြစ်နိုင်ချေ အကြောင်းပြချက်ကတော့ RTSP က ပါခဲ့ရင် ဖော်ပြပါ။ တောင်းဆိုမှု မပါဝင်ပါ။:

application/sdp

စက်ပစ္စည်းသည် ဝန်ဆောင်မှုကို ငြင်းပယ်နိုင်သည်။.

ဤတရားဝင်မှုယုတ္တိသည် တင်းကျပ်လွန်းနိုင်သည်။, ကျွန်ုပ်တို့သည် အနာဂတ် firmware အပ်ဒိတ်များတွင် ဤအခြေအနေအား ဖြေလျှော့ရန် စီစဉ်ထားပါသည်။.


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 Parameters များကို အကြံပြုထားသည်။

ထောက်ပံ့:
ကြိုးစားရန်အကြံပြုပါသည်။ 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 stream ကိုအသုံးပြု၍ စမ်းသပ်ခဲ့သည်။ gstheamer 1.0 Linux ပေါ်တွင်, မှန်ကန်စွာ လုပ်ဆောင်ခဲ့သည်။.

GStream-1 test on linux
Linux တွင် GStream-1 စမ်းသပ်မှု
GStream-1 test on linux working well
Linux တွင် GStream-1 စမ်းသပ်မှု ကောင်းမွန်စွာ အလုပ်လုပ်ပါသည်။

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 ပိုက်လိုင်း သို့မဟုတ် စမ်းသပ်ဖောက်သည်, ကျွန်ုပ်တို့၏ အင်ဂျင်နီယာအဖွဲ့မှ ဆက်လက်ကူညီပေးပါမည်။.

မေးခွန်းတစ်ခုမေး

← နောက်

သင့်စာကို ပို့ပြီးပါပြီ။