Sending Multiple Streams via UDP While Limiting Bandwidth

Mitchell Rathbun mrathbun at buffalo.edu
Fri Apr 29 02:59:14 UTC 2016


My goal is to send two video streams from one computer to another and limit
the bandwidth being used as much as possible. I have no problem doing this
in one pipeline if I just send each source to a different port. However, I
figured it would be better to mux the streams together when transmitting
and demux when receiving. I have tried using mpegtsmux and tsdemux, but I
can't find how to split the streams apart on the receiving end.

-Here is the transmitting pipeline:

gst.parse_launch('mpegtsmux name="muxer" ! udpsink host=' + self.homeIP + '
port=1234 v4l2src device=/dev/video' + str(self.cam) + ' ! video/x-raw-yuv,
framerate=' + str(self.fps) + '/1, width=640, height=480 ! x264enc
pass=qual quantizer=20 tune=zerolatency ! muxer. v4l2src device=/dev/video'
+ str(self.cam + 1) + ' ! video/x-raw-yuv, framerate=' + str(self.fps) +
'/1, width=640, height=480 ! x264enc pass=qual quantizer=20
tune=zerolatency ! muxer.')

And here is a receiving pipeline that receives the video from the first
stream:

gst.parse_launch('udpsrc port=1234 caps="video/mpegts,
systemstream=(boolean)true, packetsize=(int)188" ! tsdemux ! ffdec_h264 !
xvimagesink sync=false')

I need to figure out how I can access both streams. Or is streaming to
separate ports fine?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160428/f48ee05f/attachment-0001.html>


More information about the gstreamer-devel mailing list