Why udpsrc can't get the IPTV stream(UDP package)?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Why udpsrc can't get the IPTV stream(UDP package)?

tanzhichaoanuo
This post was updated on .
Hello everyone:
I want to receive and play the IPTV muticast stream(H264 TS stream based on rtp.) with udpsrc,When I use
"tcpdump -i eth0" ,I get the following infor :
09:11:55.138926 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.142901 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.146890 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.150871 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.154911 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.160492 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348
09:11:55.164337 IP 61.181.150.102.12502 > 225.1.2.2.8034: UDP, length 1348

But When I use :

gst-launch -v gstrtpbin name=rtpbin udpsrc caps="application/x-rtp, \
media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP2T-ES, \
ssrc=(guint)1253787951, payload=(int)33, clock-base=(guint)3847989125, \
seqnum-base=(guint)25200" multicast-group=225.1.2.10 port=8050 ! \
rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! mpegtsdemux name=d ! queue \
! ffdec_h264 ! ffmpegcolorspace ! videoscale ! queue ! xvimagesink

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
---------Stop here,can't get anything.

But VLC on windows can receive an play the stream.

      According to Wim Taymans‘s  suggestion in the forum,I use the only Command:
"gst-launch-0.10 udpsrc  multicast-group=225.1.2.2  port=8034 ... ! fakesink -v "

to test the udpsrc plugin,I still can't get anything,and still stop at:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

    So which reasons will result udpsrc can't get anything but tcpdump or VLC can ?
    And if the  length  of UDP layer in the stream package was 1328 (not 1348),then I can get and play the stream with udpsrc,Why will this ?
 
     More detailed information can find at the following link:
http://gstreamer-devel.966125.n4.nabble.com/How-to-play-IPTV-streamer-by-udpsrc-td4632303.html#a4632425
 
         Thanks very much.

                                                                                               Regards. zhichao.