Gstreamer stops working when FMS (autonomous) starts

Hi CD,

We just came back at PCH Gainesville and we set up a gstreamer to stream 2 USB cameras from the jetson TX1 to our Driver Station over UDP (port 5800 and 5801). There is a startup script on the jetson. When in the pits with a wired connection it works. When in the field it works until autonomous starts and the camera freezes. We setup static IPs for the DS and Jetson. I am not sure why it suddenly stops working when autonomous starts. Any ideas?

(Thanks to 1261 RoboLions for the awesome help with gstreamer).

Does the script the freeze when you engage autonomous off the field? Do you have an idea of the bandwidth it uses? Does your roboRIO code at all use the cameras?

I should only be using about 4 mbps (2 cameras at 2 mbps). The roborio does not have any cameras plugged into it (I had some code setup to run on the roborio if required but I do not think we ever ran it). It could have been possible to have added an extra 0 in the gsreamer pipeline for bitrate but it only took 2 mbps when testing (1 camera was on then) on DS.

It didn’t restart when teleop period begins did it? Did you try restarting during the match?

I should’ve seen that you were using UDP to stream, which rules out any interference from the RIO directly.

I am thinking that perhaps the streamer cannot handle a dropped connection and is not reconnecting. This is, however, inconsistent with UDP and gstreamer normally. Mind posting the scripts?

Sorry for the late reply, just got the jetson up.
Jetson code


gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, width=640, height=480, framerate=30/1 ! nvjpegdec ! video/x-raw ! omxh264enc control-rate=2 bitrate=2000000 ! video/x-h264, stream-format=byte-stream ! udpsink host=10.63.25.5 port=5800

DS is just the the gstlaunch but with glimagesink and port and host.

Hmm, I think the bitrate should not be that high because in the documentation it says the bitrate is in kbps (kilobit per second) so for 2 MB it should be like 1600 or 2000. However when testing it did not seem to be that high of a bandwidth. I am going to see if I can see what bandwidth its taking because I don’t want to risk not working again in competition.