multicast TS

Rand Graham rand.graham at zenith.com
Wed Mar 11 21:19:44 UTC 2020


Hello,

What I am trying to do right now is pass through the TS from one multicast group to another multicast group while transcoding the audio and sending to icecast.

I wanted to start with just sending a multicast stream.

I have found that changing the pipeline to this produces data on the output multicast address.

env GST_DEBUG=2 gst-launch-1.0 udpsrc uri=udp://231.231.231.8:1234 multicast-iface=eth2 ! tee name=t t. ! queue ! tsdemux ! ac3parse ! a52dec !
audioconvert ! lamemp3enc  ! shout2send ip=192.168.0.200 mount=/TV1 t. ! queue ! udpsink host="232.232.232.8" port="1234" multicast-iface=eth2

As if listing the send to shoutcast first  and sending to udpsink last changed the behavior of the pipeline.

Right now the pipeline is working for me.

Thanks,
Rand



-----Original Message-----
From: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Nicolas Dufresne
Sent: Wednesday, March 11, 2020 3:51 PM
To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
Subject: Re: multicast TS

Le mercredi 11 mars 2020 à 15:21 -0400, Rand Graham a écrit :
> Hello,
> 
> I am using gstreamer 1.14.1 and I see an error when using alignment = 
> 7
> 
> gst-launch-1.0 udpsrc uri=udp://231.231.231.8:1234 multicast-iface=eth2 ! tsdemux alignment=7   ! udpsink host="232.232.232.8" p
> ort="1234" multicast-iface=eth2

My typo, I meant to write mpegtsmux (muxer not the demuxer). See gst-inspect-1.0 for more details. Alignmnent controls how many TS packet will you'll have per GstBuffer. This need to be adapted to your MTU, 7 is a common deafult, each MPEG TS packet is 188 bytes.

You didn't mention in your mail that you wanted to passthrough data. If you don't care about the network timeing, better just do:

  udpsrc ! udpsink sync=0

> 
> 0:00:00.009561490  6551      0x1d0a980 ERROR           GST_PIPELINE grammar.y:414:gst_parse_element_set: no property "alignment" in element "tsdemux0"
> WARNING: erroneous pipeline: no property "alignment" in element "tsdemux0"
> 
> I am also using tcpdump to check for udp traffic as follows after 
> starting a pipeline
> 
> tcpdump -B 65536 -i eth2 host 232.232.232.8
> 
> I notice that I see udp traffic using this command
> 
> env GST_DEBUG=2 gst-launch-1.0 udpsrc uri=udp://231.231.231.8:1234 
> multicast-iface=eth2 ! tee name=t t. ! queue ! udpsink 
> host="232.232.232ort="1234" multicast-iface=eth2
> 
> But not this one
> 
> env GST_DEBUG=2 gst-launch-1.0 udpsrc uri=udp://231.231.231.8:1234 
> multicast-iface=eth2 ! tee name=t t. ! queue ! udpsink 
> host="232.232.232ort="1234" multicast-iface=eth2  t. !  queue ! 
> tsdemux ! ac3parse ! a52dec ! audioconvert ! lamemp3enc  ! shout2send 
> ip=192.168.0.200 mount=/TV1

That will block until the shout server connects, might be never. You should use async=TRUE on the udpsink, and probably sync=0 too.

> 
> Do I have something wrong with my pipeline when using the tee?
> 
> Thanks,
> Rand
> 
> -----Original Message-----
> From: gstreamer-devel 
> [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
> On Behalf Of Nicolas Dufresne
> Sent: Wednesday, March 11, 2020 1:00 PM
> To: Discussion of the development of and with GStreamer < 
> gstreamer-devel at lists.freedesktop.org>
> Subject: Re: multicast TS
> 
> Le mercredi 11 mars 2020 à 11:45 -0400, Rand Graham a écrit :
> > Hello,
> >  
> > Is there a way to output transport streams over multicast that does 
> > not involve rtp?
> 
> You can use the udpsink element directly.
> 
> ... ! tsdemux alignment=7 ! udpsink host="<multicast dest>"
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list