Trouble with mpegtsdemux/flutsdemux in connection with mad

Robert Szelepcsényi robert at tankred.sk
Mon Sep 24 06:57:26 PDT 2012


Hi,





I am not sure, whether this is a bug or I am not doing something correctly.



I am trying to set up an application that will receive multiple satelite feeds and make them accessible to users on the Internet via an icecast server.



The basic setup of the application is as follows:



One instance reads a whole multiplex from a budget DVB-S card, demultiplexes it and sends desired feeds to another machine:



gst-launch dvbbasebin polarity="h" adapter=0 frequency=11836000 symbol-rate=27500 program-numbers=5111:5112:5113:5114:5115:511\

6:5117:5118:5119:5121:5122:5123:5126:5127:5128:5129 name=src \

src.program_5111 !   queue2 ! udpsink host=192.168.1.31 port=20000 sync=false \

src.program_5112 !   queue2 ! udpsink host=192.168.1.31 port=20002 sync=false \

src.program_5113 !   queue2 ! udpsink host=192.168.1.31 port=20004 sync=false \

src.program_5114 !   queue2 ! udpsink host=192.168.1.31 port=20006 sync=false \

src.program_5115 !   queue2 ! udpsink host=192.168.1.31 port=20008 sync=false \

src.program_5116 !   queue2 ! udpsink host=192.168.1.31 port=20010 sync=false \

src.program_5121 !   queue2 ! udpsink host=192.168.1.31 port=20012 sync=false \

src.program_5122 !   queue2 ! udpsink host=192.168.1.31 port=20014 sync=false \

src.program_5117 !   queue2 ! udpsink host=192.168.1.31 port=20016 sync=false \

src.program_5118 !   queue2 ! udpsink host=192.168.1.31 port=20018 sync=false \

src.program_5119 !   queue2 ! udpsink host=192.168.1.31 port=20020 sync=false \

src.program_5129 !   queue2 ! udpsink host=192.168.1.31 port=20022 sync=false \

src.program_5127 !   queue2 ! udpsink host=192.168.1.31 port=20024 sync=false \

src.program_5123 !   queue2 ! udpsink host=192.168.1.31 port=20026 sync=false \

src.program_5126 !   queue2 ! udpsink host=192.168.1.31 port=20028 sync=false \

src.program_5128 !   queue2 ! udpsink host=192.168.1.31 port=20030 sync=false



On the other machine for each feed a separate instance is set up to transcode it from mp2 to mp3 and publish it on an icecast server. For example the first feed is transcoded and published on the icecast server as follows:



gst-launch -v udpsrc port=20000 ! mpegtsdemux name=demux \

demux.audio_051f ! mad ! audioconvert ! lame ! queue ! \

shout2send ip=192.168.1.11 port=8000 password=hackme mount=slovensko



The problem is, that the above pipeline work on one machine under OpenSuSE 11.4 and does not work on two other machines under OpenSuSE 12.2.



I tried to investigate this issue a little bit. I have found out, that the problem is between mpegtsdemux and mad. If I include a filesink right after mpegtsdemus, I will get a correct recording. However, if I include a filesink after the mad decoder, the resulting file will be empty. Replacing mpegtsdemux by flutsdemux does not help.



If I demultiplex to the level of an elementary stream and send the stream over LAN, the whole thing works.





R.Sz.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120924/e95a982c/attachment-0001.html>


More information about the gstreamer-devel mailing list