[gst-devel] Video Streaming over network

Edward Hervey bilboed at gmail.com
Sat Nov 25 10:41:18 CET 2006


Hi,

  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:
> Hi,
>
> I am just trying to build simple video streaming application using GStreamer
> framework.
> The idea is to stream video from my IBM PC webcam to another computer which
> is connected
> via LAN.  To start with i have build following pipelines and tried to stream
> 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 ?
>
> Thanks,
> Pavan.
>
>
>
> In Terminal 1:-
> ---------------
> [pavan at localhost ~]$ gst-launch-0.10 v4lsrc ! ffmpegcolorspace !
> tcpserversink
> 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: assertion
> `GST_IS_CAPS (caps1)' failed
>
> (gst-launch-0.10:3586): GStreamer-CRITICAL **: gst_caps_is_empty: assertion
> `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 (): /pipeline0/xvimagesink0:
> 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!
> http://www.msnspecials.in/windowslive/livespaces.asp
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>


-- 
Edward Hervey
Multimedia editing developer / Fluendo S.A.
http://www.pitivi.org/




More information about the gstreamer-devel mailing list