[gst-devel] TCP streaming server issue

Nicolas Hennion nicolashennion at gmail.com
Fri Jul 9 13:58:34 CEST 2010


Hi all,

i currently try to implement a TCP streaming relay server using GStreamer
pipeline.

The goal is the following:
- Server listen a the TCP/1234 port for incoming video streaming
- Client 1 send a video streaming to Server
- Server relay the video streaming to a TCP server and listen from incoming
request on the TCP/2345 port
- Client 2 connect to the server and receive the video streaming
- Client 3 connect to the server and receive the video streaming
...

Here are the pipelines:

Client 1# gst-launch -tv  videotestsrc ! queue ! videoscale method=1 !
video/x-raw-yuv,width=352,height=288 ! ffmpegcolorspace ! queue ! theoraenc
! oggmux ! tcpclientsink host=192.168.29.65 port=1234 sync=false async=false

Server# gst-launch -tv tcpserversrc host=192.168.29.65 port=1234 ! queue !
tcpserversink host=192.168.29.65 port=2345 sync=false async=false

Client 2# gst-launch -tv tcpclientsrc host=192.168.29.65 port=2345 !
decodebin ! autovideosink

Client 3# gst-launch -tv tcpclientsrc host=192.168.29.65 port=2345 !
decodebin ! autovideosink

I first run the Server pipeline:
===
Définition du pipeline à PAUSED...
Le pipeline a terminé la phase PREROLL...
Passage du pipeline à la phase PLAYING...
New clock: GstSystemClock
===

Then i run the Client 1 pipeline... Unfortunatly, the Server crash with the
following error:
===
ERREUR : de l'élément /GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0
: Internal GStreamer error: negotiation problem.
Please file a bug at
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Information de débogage supplémentaire :
gstmultifdsink.c(2650): gst_multi_fd_sink_render ():
/GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0:
Received first buffer without caps set
Execution ended after 27105365842 ns.
Définition du pipeline à PAUSED...
Définition du pipeline à READY (prêt)...
Définition du pipeline à NULL...
Libération du pipeline...
===

When i replace the Server pipeline with the following:

Server# gst-launch -tv tcpserversrc host=192.168.29.65 port=1234 ! decodebin
! autovideosink

The server receive the video streaming and display the video test on the
screen...

Any idea to solve this issue ? I think this is a caps problem but i do to
understand where can i set it on my server pipeline ?

Thx in advance for your help

Nicolas

----
Pour la plupart des hommes, se corriger consiste à changer de défauts.
    -+- Voltaire -+-
----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100709/bc960596/attachment.htm>


More information about the gstreamer-devel mailing list