[gst-devel] Video Streaming over network

Pavan Kumar Patale pavanpatale at hotmail.com
Sat Nov 25 13:07:19 CET 2006

Thanks, it indeed worked.


>  Your main problem here, is that your second pipeline doesn't know
>the nature of the incoming stream. If you have a look at the caps of
>tcpclientsrc, you will notice that it has ANY caps, this means the
>xvimagesink doesn't know the nature of the incoming stream.
>  The easiest way to have that information sent from one pipeline to
>another is to serialize the data flowing through the network using the
>GDP (GStreamer Data Protocol). Two elements allow you to serialize and
>deserialize from/to that format : gdppay and gdpdepay. This means your
>pipeline will look something like this:
>  Sender : v4lsrc ! gdppay ! tcpserversink
>  Receiver : tcpclientsrc ! gdpdepay ! ffmpegcolorspace ! xvimagesink
>  This is the *easy* way to do that. If  you really want to do proper
>network transfer, you might want to have a look at some proper network
>protocols, like RTP/RTSP.
>  Another interesting point to notice, is that the two pipelines don't
>share a same clock, so you can't use synchronization in xvimagesink.
>In order to disable that, set sync=false on  xvimagesink.
>  Good luck,
>    Edward
>On 11/24/06, Pavan Kumar Patale <pavanpatale at hotmail.com> wrote:
>>I am just trying to build simple video streaming application using 
>>The idea is to stream video from my IBM PC webcam to another computer 
>>is connected
>>via LAN.  To start with i have build following pipelines and tried to 
>>in the localhost itself.
>>But i am getting an error in the terminal 2.
>>Can some one pls throw some light on this error.   Is the usage right ?
>>In Terminal 1:-
>>[pavan at localhost ~]$ gst-launch-0.10 v4lsrc ! ffmpegcolorspace !
>>Setting pipeline to PAUSED ...
>>Pipeline is live and does not need PREROLL ...
>>Setting pipeline to PLAYING ...
>>New clock: GstSystemClock
>>In Terminal 2:-
>>[pavan at localhost ~]$ gst-launch-0.10 tcpclientsrc  ! xvimagesink
>>Setting pipeline to PAUSED ...
>>Pipeline is live and does not need PREROLL ...
>>Setting pipeline to PLAYING ...
>>New clock: GstSystemClock
>>(gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_caps_get_structure:
>>assertion `GST_IS_CAPS (caps)' failed
>>(gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_structure_get_int:
>>assertion `structure != NULL' failed
>>(gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_caps_intersect: 
>>`GST_IS_CAPS (caps1)' failed
>>(gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_caps_is_empty: 
>>`GST_IS_CAPS (caps)' failed
>>(gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_caps_unref: assertion
>>`caps != NULL' failed
>>ERROR: from element /pipeline0/xvimagesink0: Failed to create output image
>>buffer of 0x0 pixels
>>Additional debug info:
>>xvimagesink.c(559): gst_xvimagesink_xvimage_new (): 
>>could not get shared memory of 0 bytes
>>Execution ended after 69142000 ns.
>>Setting pipeline to PAUSED ...
>>Setting pipeline to READY ...
>>Setting pipeline to NULL ...
>>FREEING pipeline ...
>>[pavan at localhost ~]$
>>Discover. Explore. Connect-Windows Live Spaces. Check out!
>>Take Surveys. Earn Cash. Influence the Future of IT
>>Join SourceForge.net's Techsay panel and you'll get the chance to share 
>>opinions on IT & business topics through brief surveys - and earn cash
>>gstreamer-devel mailing list
>>gstreamer-devel at lists.sourceforge.net
>Edward Hervey
>Multimedia editing developer / Fluendo S.A.

Headache during sex? Ask Dr. Prakash & Rachna  

More information about the gstreamer-devel mailing list