streaming from VLC to gstreamer

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

streaming from VLC to gstreamer

Anand Sivaram
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

------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: streaming from VLC to gstreamer

Eric Zhang-6
Hi, gstreamer-devel:

    You should consider an element named "gstrtpbin" and add "gstrtpbin" between udpsrc and decodebin.

Eric Zhang

2008/12/19 Anand Sivaram <[hidden email]>
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

------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel