Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 23

[ROS2] Stream Video via Gstreamer

$
0
0
Hi, I'm currently trying to get a RTSP Stream from a drone carrying a Nvidia Jetson TX2 with Ubuntu 18.04 and ROS2 Dashing to a ground station via wifi. What I was thinking about is using a client node and a server node to get it done. I have modeled a custom service which receives IP and Port and a start/stop boolean to start or stop the stream. As an response it sends a message with status. The service on the tx2 would then start a Gstreamer loop to send the video feed to said IP and Port. The client node should also be able to turn the video feed off and on again, but only one video feed should run at a time. My question would be: Should I put the gstreamer loop in a second server node and would this node be controllable via interrupts for example or what would be best practice here? The reationale is that I assume the GStreamer continuous sending and the ROS2 spin() might not work together, so it would not be possible to stop the thing once it's started Any help is really appreciated Best Nico The service msgs look like following: bool should_film #turns the stream on and off string ipv4_addr #can be either ipv4 string ipv6_addr #or ipv6 string port --- bool successful string return_msg The Gstreamer Pipeline looks like following: nvarguscamerasrc ! \ 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, \ format=(string)NV12, framerate=(fraction)30/1' ! nvv4l2h264enc \ maxperf-enable=1 bitrate=8000000 ! h264parse ! rtph264pay mtu=1400 ! udpsink host=192.168.x.x port=12345 sync=false async=false

Viewing all articles
Browse latest Browse all 23

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>