将实时图像从ROS转换为Gstreamer视频

时间:2016-06-21 18:56:39

标签: c++ video-streaming gstreamer ros

目前我有一个主题,相机发布sensor_msgs / Image消息,我有两个Gstreamer cpp文件(服务器和客户端)从/ dev / video0获取视频并将其连接到客户端。

我想使用该主题中的图像,将它们输入到服务器并将它们流式传输到客户端。我怎么能这样做?

服务器代码,在命令行中翻译:

gst-launch-1.0 v4l2src device = /dev/video0 ! 'video/x-raw, format=(string)YUY2, width=640, height=480, pass=qual, quantizer=20, framerate=30/1' ! videoconvert ! x264enc bitrate = 500 threads = 2 speed-preset = ultrafast byte-stream = true ! rtph264pay ! udpsink host = 127.0.0.1 port=1234

客户端代码,在命令行中翻译:

gst-launch-1.0 udpsrc port=1234 ! "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=255" ! rtph264depay ! queue ! avdec_h264 ! videoconvert! videoscale! xvimagesink sync=false

1 个答案:

答案 0 :(得分:0)

您应该考虑使用appsrc元素,以便将来自其他应用程序的数据导入GStreamer管道。

您可以在GStreamer文档中获得有关此元素的更多信息:https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html