TCP streaming server issue

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

TCP streaming server issue

Nicolas Hennion
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.  
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 -+-
----

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel