我一直致力于通过网络实时获取图像(为我的自主无人机项目)。到目前为止,我一直在使用Gstreamer管道(udp协议)在发件人(远程)和接收端(主机)上传输视频,它的工作方式就像一种魅力(几乎是实时的)。
该命令如下:
(来源):plab/
发件人:
gst-launch-1.0 v4l2src ! video/x-raw,width=640,height=480 ! timeoverlay ! tee name="local" ! queue ! autovideosink local. ! queue ! jpegenc ! rtpjpegpay ! udpsink host=127.0.0.1 port= 5000 接收机:
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink 现在,在接收端,我编写了一个openCV videoCapture脚本。目标是访问opencv中的视频流(在主机上)。
为了确认是否在opencv3.2.0中集成了gstreamer,使用gstreamer管道捕获网络摄像头流(连接到主机本身),代码行如下:
cv::VideoCapture camera0("v4l2src ! videoconvert ! appsink");问题是,使用gstreamer管道中的UDP协议访问openCV(主机)中的流(从远程)是行不通的。在线消息来源建议在gstreamer管道中使用'rtsp'。
因此,如果有人可以帮助我使用发件人和接收方的“rtsp”管道命令(将在openCV中使用),那么它将有很大的帮助。
PS:我的想法是,只有Gstreamer可以是实时的。任何类型的帮助都会得到真正的感谢,因为我仍然是这整个gstreamer事件中的一个菜鸟。谢谢。:)
发布于 2017-07-28 11:16:45
您可以将此作为rtsp和gstreamer的参考。
https://stackoverflow.com/questions/45251985
复制相似问题