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 ခေါင်းစီးများကို ပေးပို့နိုင်သည်။, ဝန်ဆောင်မှု ငြင်းပယ်ခြင်းဆိုင်ရာ အမှားအယွင်း ဖြစ်ပေါ်ခဲ့သည်။.

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


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

မေးခွန်းတစ်ခုမေး
သင့်စာကို ပို့ပြီးပါပြီ။