76
Software / Obrazové artefakty ve streamu
« kdy: 21. 11. 2020, 13:27:23 »
Nevěděli byste, co poradit, když mi kamery při přenosu streamu z wifi "kostičkuje"? I při bitrate 1.5Mbps (mírně ale přesto) Při víc jak 4Mbps to je už celkem znatelné. Připojení je 802.11n (tedy 72Mbps, i při polovině reálné propustnosti 40 Mbps je tohle zlomek), ...
Problém může být na víc úrovních, chyby ve vysílání wifi, chyby při přijetí, divné zpracování UDP stacku (různé buffery).
Kamera vysílá pakety 1328bajtové na UDP. Rozumím, že UDP může být chybové, ale přece nemůže být normální takhle chybový "uživatelský zážitek". Díval jsem se do wiresharku při IO graph a Unit of Interval 10ms, tam se dá vypozorovat, že pakety chodí shluknuté třeba po 20 paketech, pak je mezera....(takhle to asi nic neřekne bez konkrétního obrázku, ale myslím, že to problém není, možné). Navíc i když nastavím bitrate 18Mbps, vidím v wiresharku, že přichází 18Mbps
Problém je s každou wifi kartou...
Samozřejmě ffmpeg mohu nahradit příkazem ffplay rovnou, to je jen kosmetické, stejně tak jsem to zkoušel bez ?
(pkt_size=xxx&buffer_size= a nobuffer)
Zkoušel jsem se dívat i sem https://ffmpeg.org/ffmpeg-protocols.html , ale nevím, co by třeba zde konrétně bylo jak nastavit.
Problém může být na víc úrovních, chyby ve vysílání wifi, chyby při přijetí, divné zpracování UDP stacku (různé buffery).
Kamera vysílá pakety 1328bajtové na UDP. Rozumím, že UDP může být chybové, ale přece nemůže být normální takhle chybový "uživatelský zážitek". Díval jsem se do wiresharku při IO graph a Unit of Interval 10ms, tam se dá vypozorovat, že pakety chodí shluknuté třeba po 20 paketech, pak je mezera....(takhle to asi nic neřekne bez konkrétního obrázku, ale myslím, že to problém není, možné). Navíc i když nastavím bitrate 18Mbps, vidím v wiresharku, že přichází 18Mbps
Problém je s každou wifi kartou...
Kód: [Vybrat]
C:\Users\Lukas>ffmpeg -v debug -fflags nobuffer -f mpegts -i udp://10.5.5.141:8
554?pkt_size=1330&buffer_size=13200 -f mpegts -c:v copy -c:a copy udp://localho
st:10000Samozřejmě ffmpeg mohu nahradit příkazem ffplay rovnou, to je jen kosmetické, stejně tak jsem to zkoušel bez ?
(pkt_size=xxx&buffer_size= a nobuffer)
Zkoušel jsem se dívat i sem https://ffmpeg.org/ffmpeg-protocols.html , ale nevím, co by třeba zde konrétně bylo jak nastavit.
Kód: [Vybrat]
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1903902
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1906905
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1909908
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1912911
[mpegts @ 00000000001203c0] Continuity check failed for pid 4113 expected 1 got
2
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1915914
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1918917
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1921920
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1924923
[NULL @ 0000000000136100] ct_type:1 pic_struct:0
[mpegts @ 00000000001203c0] invalid dts/pts combination 1927926