[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