[gst-devel] streaming from VLC to gstreamer

Anand Sivaram aspnair at gmail.com
Fri Dec 19 09:49:04 CET 2008


Hello all,

I am trying to play an h264/aac file streamed by VLC player using gstreamer.
Since it was not getting played out, I also tried streaming
an mpeg1/mp2 file.

On the TX side I used vlc to stream the file using mpeg2-ts encapsulation

vlc --mtu 1200 -vvv Videofile \
  --sout '#duplicate{dst=rtp{mux=ts,dst=127.0.0.1,port=25000}}'

where the Videofile could be an h264/aac (mp4 extension) file
or an mpeg1/mp2 (mpg extension) file.

On the RX side I started gst-launch
gst-launch -v udpsrc port=25000 ! rtpmp2tdepay ! decodebin name=decoder \
  decoder. ! ffmpegcolorspace ! autovideosink decoder. !  autoaudiosink
(when streaming one mpg file)

gst-launch -v udpsrc port=25000 ! rtph264depay ! decodebin name=decoder \
  decoder. ! ffmpegcolorspace ! autovideosink decoder. !  autoaudiosink
(when streaming one mp4 file)

------
This is what the observation is.
When I stream somefile.mpg both video and audio outputs are extremely
jittery.
When I stream somefile.mp4 there is no video or audio outputs at all.

Any idea why the mp4 stream is not getting played out?  Has anyone
tried streaming from VLC to gstreamer?

But, on the otherhand if VLC is used on the RX side
vlc rtp://@:25000
everything is working.
------

== This is the output of gstreamer when I tried to stream somefile.mp4

sink=decodervrudecoder.r!=ffmpegcolorspacee!aautovideosink decoder. !
autoaudios
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

/pipeline0/decoder/typefind.src: caps = video/mpegts,
systemstream=(boolean)true, packetsize=(int)188
/pipeline0/decoder/flutsdemux0.sink: caps = video/mpegts,
systemstream=(boolean)true, packetsize=(int)188
/pipeline0/decoder/flutsdemux0: pat-info = ((GValueArray*) 0x25fc660)
/pipeline0/decoder/flutsdemux0: pmt-info = ((FluTsPmtInfo*) 0x25fc130)
/pipeline0/decoder/queue0.sink: caps = audio/mpeg, mpegversion=(int)4
/pipeline0/decoder/queue0.src: caps = audio/mpeg, mpegversion=(int)4
/pipeline0/decoder/faad0.sink: caps = audio/mpeg, mpegversion=(int)4
/pipeline0/decoder/queue1.sink: caps = video/x-h264
/pipeline0/decoder/queue1.src: caps = video/x-h264
/pipeline0/decoder/ffdec_h2640.sink: caps = video/x-h264
/pipeline0/decoder/faad0.src: caps = audio/x-raw-int,
endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2
/pipeline0/autoaudiosink0/autoaudiosink0-actual-sink-alsa.sink: caps =
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)2
/pipeline0/autoaudiosink0.sink: caps = audio/x-raw-int,
endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2
/pipeline0/decoder.src0: caps = audio/x-raw-int, endianness=(int)1234,
signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000,
channels=(int)2
/pipeline0/decoder.src0.proxypad3: caps = audio/x-raw-int,
endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2
/pipeline0/autoaudiosink0.sink: caps = audio/x-raw-int,
endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2
/pipeline0/autoaudiosink0.sink.proxypad2: caps = audio/x-raw-int,
endianness=(int)1234, signed=(boolean)true, width=(int)16,
depth=(int)16, rate=(int)48000, channels=(int)2

Thanks and Regards

Anand




More information about the gstreamer-devel mailing list