[gst-devel] Streaming H.264 / Vorbis

Wim Taymans wim.taymans at gmail.com
Tue Mar 24 12:08:59 CET 2009


On Tue, 2009-03-24 at 10:08 +0100, cammille at polytech.unice.fr wrote:
> Hi,
> 
> I would like to stream the video taken from my webcam and the sound taken
> from my micro.
> 
> I tried that :
> 
> To send on Windows :
> --------------------
> 
> gst-launch -v gstrtpbin name=rtpbin \
>     dshowvideosrc ! decodebin name=dec \
>     dec. ! queue ! x264enc byte-stream=true bitrate=300 ! rtph264pay !
> rtpbin.send_rtp_sink_0 \
>     rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.X.X ts-offset=0
> name=vrtpsink \
>     rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.X.X sync=false
> async=false name=vrtcpsink \
>     udpsrc port=5005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0 \
>     dshowaudiosrc ! queue ! audioresample ! audioconvert ! alawenc !
> rtppcmapay ! rtpbin.send_rtp_sink_1 \
>     rtpbin.send_rtp_src_1 ! udpsink port=5002 host=192.168.X.X ts-offset=0
> name=artpsink \
>     rtpbin.send_rtcp_src_1 ! udpsink port=5003 host=192.168.X.X sync=false
> async=false name=artcpsink \
>     udpsrc port=5007 name=artpsrc ! rtpbin.recv_rtcp_sink_1
> 
> 
> 
> To receive on Linux :
> ---------------------
> 
> gst-launch -v gstrtpbin name=rtpbin latency=200 \
>      udpsrc
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
> port=5000 ! rtpbin.recv_rtp_sink_0 \
>        rtpbin. ! rtph264depay ! ffdec_h264 ! xvimagesink \
>      udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
>          rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=192.168.X.X
> sync=false async=false \
>      udpsrc
> caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA"
> port=5002 ! rtpbin.recv_rtp_sink_1 \
>        rtpbin. ! rtppcmadepay ! alawdec ! audioconvert ! audioresample !
> alsasink \
>      udpsrc port=5003 ! rtpbin.recv_rtcp_sink_1 \
>          rtpbin.send_rtcp_src_1 ! udpsink port=5007 host=192.168.X.X
> sync=false async=false
> 
> 
> This works well.
> 
> So I tried to encode with Vorbis and not Alaw.
> 
> I tried that :
> To send on Windows :
> --------------------
> 
> gst-launch -v gstrtpbin name=rtpbin \
>     dshowvideosrc ! decodebin name=dec \
>     dec. ! queue ! x264enc byte-stream=true bitrate=300 ! rtph264pay !
> rtpbin.send_rtp_sink_0 \
>     rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.X.X ts-offset=0
> name=vrtpsink \
>     rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.X.X sync=false
> async=false name=vrtcpsink \
>     udpsrc port=5005 name=vrtpsrc ! rtpbin.recv_rtcp_sink_0 \
>     dshowaudiosrc ! queue ! audioresample ! audioconvert ! vorbisenc !
> rtpvorbispay ! rtpbin.send_rtp_sink_1 \
>     rtpbin.send_rtp_src_1 ! udpsink port=5002 host=192.168.X.X ts-offset=0
> name=artpsink \
>     rtpbin.send_rtcp_src_1 ! udpsink port=5003 host=192.168.X.X sync=false
> async=false name=artcpsink \
>     udpsrc port=5007 name=artpsrc ! rtpbin.recv_rtcp_sink_1
> 
> 
> To receive on Linux :
> ---------------------
> 
> gst-launch -v gstrtpbin name=rtpbin latency=200 \
>      udpsrc
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
> port=5000 ! rtpbin.recv_rtp_sink_0 \
>        rtpbin. ! rtph264depay ! ffdec_h264 ! xvimagesink \
>      udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
>          rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=192.168.X.X
> sync=false async=false \
>      udpsrc
> caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)VORBIS"
> port=5002 ! rtpbin.recv_rtp_sink_1 \
>        rtpbin. ! rtpvorbisdepay ! vorbisdec ! audioconvert ! audioresample
> ! alsasink \
>      udpsrc port=5003 ! rtpbin.recv_rtcp_sink_1 \
>          rtpbin.send_rtcp_src_1 ! udpsink port=5007 host=192.168.X.X
> sync=false async=false
> 
> 
> And I have this error :
> WARNING: from element
> /GstPipeline:pipeline0/GstRtpVorbisDepay:rtpvorbisdepay0: Could not decode
> stream.
> Additional debug info:
> gstrtpvorbisdepay.c(605): gst_rtp_vorbis_depay_process ():
> /GstPipeline:pipeline0/GstRtpVorbisDepay:rtpvorbisdepay0:
> Could not switch codebooks
> 
You forgot to send the vorbis codebook config in the caps. 

Wim
> 
> 
> What can I do to resolve this problem ?
> 
> Thank you.
> 
> 
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list