LTE a streamování videa

JirkaRCK

LTE a streamování videa
« kdy: 23. 07. 2018, 19:10:13 »
Dobrý den všem, rád bych nadhodil do diskuze můj docela zajímavý problém. Řeším streamování videa přes LTE na Raspberry PI. Jako enkodér a streamovací server používám VLCčko, jedu v mpeg4 přes http, ale zkoušel jsem i rtsp stream a kodek mpeg2, vždy se stejným výsledkem:

  • Bez LTE, jen doma po metalice vše OK
  • Při konektivitě RPI přes metaliku a klienta přes LTE modem občas drobné, logicky očekávatelné, kazy, avšak v podstatě vše ok
  • Při konektivitě RPI ("serveru") přes LTE modem šílené kazy v obraze, téměř nefunkční
  • Žádný rozdíl při rtsp a http, žádný vliv kodeků
  • Žádné zlepšení ani zhoršení při streamování přes http v ssh tunelu

Jsem z toho docela v koncích, ale hlavně mi to přijde i jako zajímavý technický oříšek - říkám si proč :-)  RPI má jediný USB řadič, na kterém mám pověšenou střihovou kartu i modem, to by ale problém být neměl, protože je na něm interně navěšena i metalika a s tou je všechno ok. Nechápu, jak může být v obraze tolik kazů, když jedu po TCPku, které jsem navíc zkoušel zrobustnit ssh tunelem. Klient bufferuje cca 2 sekundy, to by přece mělo stačit na to, aby se všechny packety dostaly do cíle a nikde neutekly.

Jediné, co mi už zbývá, je chyba v ovladači modemu nebo v nastavení PPP tunelu. Modem mi nějak nešel nakonfigurovat AT commandy, a tak jsem pro něj nainstaloval nmcli. Z uživatelského pohledu se ale zdá být vše OK. Rychlost downloadu při instalaci aplikací uspokojivá, ping kolem 35 ms, upload ještě vyšší než download. Dostávám se docela do kouta a už nevím, po čem dál pátrat. Asi ještě zkusím stejnou konfiguraci spustit na něčem plnokrevném, jeslti to nedělá cpu nebo usb sběrnice. Obě mi ale přijde silně nelogické vzhledem k tomu, že vše jede po na usb navěšené metalice ok. Při běhu dle htopu vytěžuji maximálně jedno jádro procesoru RPI na cca 60%.

Napadlo by Vás, co zkusit dál? :-D Budu moc vděčný za každý nápad a určitě pro zajímavost poskytnu zpětnou vazbu :-)


vencour

Re:LTE a streamování videa
« Odpověď #1 kdy: 23. 07. 2018, 19:48:40 »
Co vim, tak nevýhoda tcp je v tom, že když něco po cestě dělá aplikační (tcp) proxy - třeba firewally - a pokud se někde něco ztrácí apod., tak to běžně jako uživatel neuvidíte.

UDP provoz se chová jak, zkoušel jste? Případně testnout třeba iperfem přes udp propustnost přes LTE.

max5

Re:LTE a streamování videa
« Odpověď #2 kdy: 23. 07. 2018, 20:03:45 »
A jak to streamujete ? Muzete hodit ten vlc script ?

trotl tazatel upresni

Re:LTE a streamování videa
« Odpověď #3 kdy: 23. 07. 2018, 22:13:20 »
co když zkusíš streamovat přes ffmpeg? Mám podobný problém. GoPro streamuje přes udp://10.5.5.9:8554  přes wifi a přehrávání má spoustu artefaktů (při bitrate 1Mbps a víc). Přičemž má umět 802.11n (hodně optimisticky 30 Mbps by mělo umět)

JirkaRCK

Re:LTE a streamování videa
« Odpověď #4 kdy: 24. 07. 2018, 09:13:28 »
Díky za reakce. Iperf s UDPkem co nejdřív vyzkouším. Pokusem/omylem chci dnes ještě vyzkoušet, jak se bude všechno chovat, když na straně RPI nepoužiji USB modem, ale průmyslový LTE router připojený metalikou. Jako klient používám vlc, jako streamer jsem zkoušel vlc i ffmpeg bez rozdílu.

Streamovací příkaz přes http:
Kód: [Vybrat]
source config.cfg
vlc -vvv v4l2:///dev/video0:input=1:standard=PAL:width=720:height=480 --sout "#transcode{vcodec=mp4v,vb=1000}:standard{access=http,mux=ogg,dst=:8080}" -Vdummy

Streamovací skript přes rtsp:
Kód: [Vybrat]
vlc -vvv v4l2:///dev/video0:input=1:standard=PAL:width=720:height=480 --sout "#transcode{vcodec=mp4v,vb=1000}:rtp{port=8080,sdp=rtsp://:8080/stream0}" -Vdummy

PS operátorem a vlastnostmi LTE by to být nemělo. V minulosti jsem si hrál se stremováním rtsp z IP kamer přes Mikrotika s osazeným LTE modemem a frčelo to obstojně.