Hello, Is there a way to output transport streams over multicast that does not involve rtp? Thanks, Rand _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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>" > > Thanks, > Rand > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks.
So the output of the demux can go to a udpsink? Can you explain what alignment=7 does? Thanks, Rand -----Original Message----- From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Nicolas Dufresne Sent: Wednesday, March 11, 2020 1:00 PM To: Discussion of the development of and with GStreamer <[hidden email]> 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 [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Nicolas Dufresne-5
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 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 Do I have something wrong with my pipeline when using the tee? Thanks, Rand -----Original Message----- From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Nicolas Dufresne Sent: Wednesday, March 11, 2020 1:00 PM To: Discussion of the development of and with GStreamer <[hidden email]> 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 [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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:[hidden email]] > On Behalf Of Nicolas Dufresne > Sent: Wednesday, March 11, 2020 1:00 PM > To: Discussion of the development of and with GStreamer < > [hidden email]> > 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 > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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:[hidden email]] On Behalf Of Nicolas Dufresne Sent: Wednesday, March 11, 2020 3:51 PM To: Discussion of the development of and with GStreamer <[hidden email]> 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:[hidden email]] > On Behalf Of Nicolas Dufresne > Sent: Wednesday, March 11, 2020 1:00 PM > To: Discussion of the development of and with GStreamer < > [hidden email]> > 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 > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |