What is the best solution to stream video frames over the network?
I use ROS Lunar and I would like to stream video frames over the network (to browser or server). What is the best option? I found packages like mjpeg_server or web_video_server, but they are unavailable under ROS Lunar. I would like to create package by roscpp, and subscribe one topic which will deliver video frames to this node. So I wonder if ROS Lunar provide other package for video streaming or I should only subscribe topic and write my handler with e.g. gstreamer?
That highly depends on your usecase. With GST you have access to many codecs with less data rate for the same quality at the cost of higher CPU usage. Personally I use my image_to_rtsp btw. Or you could build mjpeg_server from source under Lunar.
Thanks. I've found jpeg_streamer which is available under ROS Lunar, but I could not find any tutorial. Do you think it will be sufficient?
Thats entirely up to you to decide if it fits your usecase or not.
You can use gscam to stream video over udp: e.g. gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=5000
You can change the host & port of course.