[gst-devel] Network pipeline audio plays, audio stops, video skips lowering fps works
Stefan de Konink
skinkie at xs4all.nl
Fri Feb 3 20:32:33 CET 2006
Just another night testing with gstreamer.
gst-launch-0.10 oggmux name=mux ! tcpserversink audiotestsrc !
audioconvert ! vorbisenc quality=0.2 ! mux. videotestsrc !
ffmpegcolorspace ! theoraenc bitrate=128 ! mux.
gst-launch-0.10 tcpclientsrc ! oggdemux name=demux demux. ! queue !
theoradec ! ffmpegcolorspace ! xvimagesink demux. ! queue ! vorbisdec !
audioconvert ! audioresample ! alsasink
I suppose those two client running on local host shouldn't be any problem.
But it seems it is. I tryed playing with preroll-queue-len, sync-method,
with and without queues and caps too in this case.
The video and audio start playing localhost, and then I hear audio - stop
audio short three times. And the video gets slower. Is there something I
am doing fundamentally wrong with Gstreamer or does it look all ok?
So I lowered the fps of the videotestsrc. Signal stays. So was the system
under load? I tested on a remote system and a local
system to play. So I made the fps go up, blocksize=192000 fixed alot of
problems but eventually everything went silent again, like when it
did when the blocksize wasn't inplace. Bufferunderrun ok, but on localhost?!
I came up with the hypothesis that my pc alone is to slow to encode and
decode all 30fps, but handles 20fps at 99% CPU time for gst-launch. And
the network is the limitation factor for the fast encoder, slow 'decoder'
Leaves one question open: when I select a theora bitrate of 128kbit and
vorbis quality of 0.2/bitrate=128000 I don't expect a TCP flowrate of
512kbit. Is there a way to decrease some overhead (pktsize management) or
get both vorbis and theora to produce less bandwidth? Or should I switch
to udp, so the server won't get bothered with traffic comming back?
Other thing for next release, would it be wise to make the bitrate
parameter to expect the same input on all elements? vorbisenc wants
128000 while theoraenc wants 128.
Stefan de Konink
More information about the gstreamer-devel