How can I improve streaming latency by switching to 5G?

Hey guys,

I am currently using the Jetson Nano mounted on a drone to live stream. I am using a 5G phone connected via USB tethering to supply 5G to the jetson.

The problem I am currently facing now is that the latency I get when I use 4G is 0.4 seconds. When I use the 5G phone, I still get 0.4seconds latency.

How do I fully utilize 5G to drastically reduce the live stream latency to say about less than 0.2/0.1 seconds.

When I did a speed test on the 5G phone, I got speeds of roughly 90mbps whereas on the 4G usb Modem I get roughly 35 mbps. Seeing this, you’d expect a reduction in latency, but this isn’t the case.

This is the code we use to stream :

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=720, height=480, framerate=30/1, format=NV12'  ! nvvidconv !  'video/x-raw,width=720, height=480, framerate=30/1, format=NV12, pixel-aspect-ratio=1/1' ! nvvidconv ! nvv4l2h264enc ! h264parse ! flvmux ! rtmpsink location='rtmp://localhost/live/'

Hi,
Please try to enable max performance in nvarguscamerasrc and nvv4l2h264enc:

gst-launch-1.0 nvarguscamerasrc maxperf=1 ! 'video/x-raw(memory:NVMM), width=720, height=480, framerate=30/1, format=NV12'  ! nvvidconv !  'video/x-raw,width=720, height=480, framerate=30/1, format=NV12, pixel-aspect-ratio=1/1' ! nvvidconv ! nvv4l2h264enc maxperf-enable=1 ! h264parse ! flvmux ! rtmpsink location='rtmp://localhost/live/'

And please set ‘sudo jetson_clocks’

Hi DaneLLL,

I ran the code with max performance enabled but it seems to hover around the 0.35-0.4 seconds range. Could it be my receiver side or maybe openCV video capture library has some latency induced in it?

5g is basically a marketing term because marketing droids demand the version number increase. It’s a worse technology with terrible range among other things. There is no guarantee 5g will have any better latency than 4g in the real world. Bandwidth (*bps) is not latency. Ping is how you measure latency.

https://en.wikipedia.org/wiki/5G#Latency

See Verizon’s real world deployment is 30ms… And that is their official number which means the real one is probably far worse. That’s worse than many 4g deployments. Rumor has it Huawei’s 5g equipment is the only good 5g equipment and that’s the primary reason it can’t be sold in the US.

There is a reason the new iPhone doesn’t have 5G and I’m betting the next won’t either. A pox on 5G.

The thing however, is that I am doing a school project and I have to visually show the difference between 4G streaming and 5G streaming. So… I have to get it done either way :(

Ok. Well maybe you can say 5g is not mature enough to be ready for this sort of application :/ It’s true and you can demonstrate it. You might reduce latency with a dedicated 4g lte modem as opposed to a cell phone. The tethering step ads some latency, even over USB. You could also try another streaming protocol and/or reading the documentation for every element in your pipeline.

Fwiw if you want high quality, really low latency, drone control, DJI makes some great gear specifically for that and flight controllers so you won’t lose your drone. Their software is excellent as well… But that’s neither 4G not 5G. If should work fine with Nano, however.

To my understanding current 5G networks are “none-standalone” implementations and still use 4G technology underneath.That explains that you see same latency as with 4G. First “standalone 5G” implementations are to be expected in 2020…