Hello fellow developers,
we are working on a camera system which dishes out ~ 120Mbits/s raw data as UDP/RTP stream. We have connected the camera system and receiving devices P2P with a single ethernet cable. When we try to pick up that stream from a regular device(laptop or desktop) the video is flawless. But as we try to receive the stream from a Jetson device, the video suffers heavily from interlacing especially when there are moving objects.
Example image:
In all cases we have used the base Gstreamer pipeline below to recieve the stream:
We have confirmed that the issue only appears when Jetson devices try to handle RAW data. By streaming laptop camera to Jetson, first RAW then JPEG encoded, we have observed the same issue on RAW stream but not on JPEG encoded one.
Laptop Camera Stream Recieved On Jetson TX2:
RAW ~ 36 Mbits/s -> Interlacing
JPEG encoded ~ 12 Mbits/s -> No Interlacing
Laptop Camera Stream Recieved On Jetson Nano:
RAW ~ 36 Mbits/s -> Interlacing
JPEG encoded ~ 12 Mbits/s -> No Interlacing
Laptop Camera Stream Recieved On Desktop PC:
RAW ~ 36 Mbits/s -> No Interlacing
JPEG encoded ~ 12 Mbits/s -> No Interlacing
We have also experimented with gstreamer plugins such as rtpjitterbuffer, deinterlace and tried changing frame format(YCbCr-4:2:2, YCbCr-4:2:0, RGBA, RGB) on streaming device. But no avail. Our suspicion is that the gstreamer plugin rtpvrawdepay does not function correctly on Jetson devices. Which causes some udp/rtp packets to be dropped or misordered.
Could you please assist ?
Setup:
Hi DaneLLL,
in all of our tests the devices were in max performance mode( nvpmodel -m 0 ). We have also concluded that jetson clocks has no effect on our situation. Issue still persists.
Working with raw data is one of our limitations so encoding with h264 is not an option at the moment. It also shouldn’t be necessary since our bandwith need is well within bandwith limits. Jetson boards offer a bandwidth of 1Gbits/s and our data is a mere 120Mbits/s. It even occurs when streaming from laptop camera to jetson (36Mbit/s). I am really struggling to find out what is causing this distortion while receiving the raw video.
To reproduce issue with a laptop camera and peer2peer connection:
nothing above has solved our case. We have also tested that when we use Jetson devices as streamer and our laptop as receiver there are no problems. So Jetson devices can stream RAW but cannot receive RAW stream correctly?
Hİ @DaneLLL
We are still struggling with the same issue here. How are the results on your end? Did you manage to reproduce the issue? Is there anything more I can provide for this issue to be tested? Please let me know. Thank you for your time.
Hi,
Sending raw data in UDP streaming requires high CPU usage and network bandwidth. This may hit system limitation. Since there is hardware encoder/decoder in TX2, we would suggest compress the data into h264/h265 stream. This looks to be a more reliable usecase.