[gst-devel] Streaming H.264 / Vorbis

Wim Taymans wim.taymans at gmail.com
Tue Mar 24 16:16:52 CET 2009


On Tue, 2009-03-24 at 12:17 +0100, cammille at polytech.unice.fr wrote:
> Can you explain me how to send the vorbis codebook config in the caps
> please ?

You just put them in the caps. Maybe you should read this document that
tells you how to negotiate between RTP sender and receiver:

http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtp/README

Wim


> 
> I searched on the Internet but I didn't find how.
> 
> 
> Thank you for your help.
> 
> 
> > 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
> >
> >
> > ------------------------------------------------------------------------------
> > 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
> >
> 
> 
> 
> ------------------------------------------------------------------------------
> 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