Hi, We need to send MPEG Transport Stream packets using UDP with seven TS packets per UDP packet. Each UDP packet needs to be 7 * 188 = 1316 bytes. Also the UDP packets need to be transmitted at a constant rate, not in a burst. The buffers that are produced by mpegtsmux are large. Is there a way to do this that I missed? Would it be better to change mpegtsmux , write a “Payloader” or something else? Thanks, Michael Rubinstein _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sun, Oct 21, 2012 at 11:16 AM, Michael Rubinstein
<[hidden email]> wrote: > > Hi, > > > > We need to send MPEG Transport Stream packets using UDP with seven TS packets per UDP packet. Each UDP packet needs to be 7 * 188 = 1316 bytes. > > Also the UDP packets need to be transmitted at a constant rate, not in a burst. > > > > The buffers that are produced by mpegtsmux are large. > > > > Is there a way to do this that I missed? > > > > Would it be better to change mpegtsmux , write a “Payloader” or something else? > > > > That's interesting, as I just had to write an element to buffer up the 188 byte packets from mpegtsmux in order to feed a v4l2 driver that feeds a hardware decoder. My observation was that the mpegtsmux was always pushing a single packet at a time. I had intended to use v4l2sink but it wasn't buffering the data at all and there were too many QBUF exchanges for the driver to keep up working 1 packet at a time. How are you getting mpegtsmux to buffer the packets before pushing? I wonder if it's how mpegtsmux is being fed data... -Mike -- Michael Williamson 315-425-4045x230 www.criticallink.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
> On Sun, Oct 21, 2012 at 11:16 AM, Michael Rubinstein <mrubinstein@rai-
> dev.com> wrote: > > Hi, > > > > We need to send MPEG Transport Stream packets using UDP with seven TS > packets per UDP packet. Each UDP packet needs to be 7 * 188 = 1316 bytes. > > > > Also the UDP packets need to be transmitted at a constant rate, not in a > burst. > > > > The buffers that are produced by mpegtsmux are large. > > > > Is there a way to do this that I missed? > > > > Would it be better to change mpegtsmux , write a Payloader or something > else? > > > > That's interesting, as I just had to write an element to buffer up the > 188 byte packets from mpegtsmux in order to feed a v4l2 driver that feeds a > hardware decoder. My observation was that the mpegtsmux was always > pushing a single packet at a time. I had intended to use v4l2sink but it wasn't > buffering the data at all and there were too many QBUF exchanges for the > driver to keep up working 1 packet at a time. > > How are you getting mpegtsmux to buffer the packets before pushing? I > wonder if it's how mpegtsmux is being fed data... > > -Mike > I'm creating the transport stream with the mpeg2 video encoder. Here's an example pipeline: videotestsrc pattern=smpte is-live=true \ ! video/x-raw,format=I420, \ width=720,height=480,framerate=30000/1001 \ ! avenc_mpeg2video bitrate=4000000 \ ! queue \ ! mpegtsmux \ ! queue name=udpq \ ! udpsink port=1234 host=127.0.0.1 sync=true buffer-size=300000 This sends UDP packets of various lengths from around 15 to 32 K Bytes. I'm using a Windows (MinGW) build of 1.0.1. Michael _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |