Playing and streaming, is it possible?

Paulo Paiva paivalhao at
Thu Jun 2 07:50:47 PDT 2011

Hello all!

I'm struggling here trying to play the video acquired from the web-cam 
and stream it simultaneously but it isn't working. Here goes my pipeline 
(inspired in the examples given):


# Destination of the stream

# Tuning parameters to make the sender send the streams out of sync. Can 
be used
# ot test the client RTCP synchronisation.

# Video setup
VELEM="v4l2src "
VSOURCE="$VELEM ! $VCAPS ! queue ! ffmpegcolorspace"
VENC="x264enc tune=zerolatency byte-stream=true bitrate=550 threads=0 

# Video transmission setup
VRTPSINK="udpsink port=5000 host=$DEST ts-offset=$VOFFSET name=vrtpsink"
VRTCPSINK="udpsink port=5001 host=$DEST sync=false async=false 
VRTCPSRC="udpsrc port=5005 name=vrtpsrc"

# Audio setup
ASOURCE="$AELEM ! queue ! audioconvert"
AENC=" faac! rtpmp4apay"

# Audio transmission setup
ARTPSINK="udpsink port=5002 host=$DEST ts-offset=$AOFFSET name=artpsink"
ARTCPSINK="udpsink port=5003 host=$DEST sync=false async=false 
ARTCPSRC="udpsrc port=5007 name=artpsrc"

# Pipeline construction
gst-launch -v gstrtpbin name=rtpbin             \
     $VSOURCE ! tee name=v ! autovideosink v. ! $VENC ! rtph264pay ! 
rtpbin.send_rtp_sink_0   \
         rtpbin.send_rtp_src_0 ! $VRTPSINK       \
         rtpbin.send_rtcp_src_0 ! $VRTCPSINK     \
           $VRTCPSRC ! rtpbin.recv_rtcp_sink_0   \
     $ASOURCE ! $AENC ! rtpbin.send_rtp_sink_1   \
         rtpbin.send_rtp_src_1 ! $ARTPSINK       \
         rtpbin.send_rtcp_src_1 ! $ARTCPSINK     \
           $ARTCPSRC ! rtpbin.recv_rtcp_sink_1

Has all can see I got a tee after the acquisition, after that 
autovideosink in order to displays and I pass on the video flux for 

The output of execution is:

$ sh
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: actual-buffer-time = 47551927
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0: actual-latency-time = 9977
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0.GstPad:src: caps = 
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, 
width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)1, 
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could 
not negotiate format
Additional debug info:
gstbasesrc.c(2811): gst_base_src_start (): 
Check your filtered caps, if any
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstPulseSrc:pulsesrc0.GstPad:src: caps = NULL
Freeing pipeline ...

The last message makes suggestion to look at the caps, but removing the 
tee element and the autovideosink it works.

Any ideas/suggestions  would be great!!

Thanks all for help!!
Paulo Paiva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list