[gst-devel] udpsink to udpsrc choppy - stacato sine wave
Marco Ballesio
gibrovacco at gmail.com
Sat Nov 20 10:22:13 CET 2010
Hi,
a few notes:
On Fri, Nov 19, 2010 at 5:08 PM, Wes Miller <wmiller at sdr.com> wrote:
>
> I have written simple pipes to encode an audiotestsrc sine wave into aac then
> mp4a payloadit and send it over the network to a matching udpsik, depay,
> decode and pulsesink.
>
> The sound comes out choppy, uniformly spaced, but chopped into beeps.
> Sounds a lot like Morse code but it's all E's.
>
> Here are the pipes: (they are on the same PC but I've also tried it between
> 2 computers)
>
> Source
>
> gst-launch audiotestsrc \
> ! audio/x-raw-int, rate=44100, channels=2, endianness=1234,
> width=16, depth=16 \
> ! ffenc_aac \
> ! rtpmp4apay \
> ! udpsink host=10.253.5.151 port=5002
>
> and Sink
>
> gst-launch-0.10 -v -e udpsrc port=5002
I usually use gstrtpbin for this kind of pipelines. Btw I reas it did
not help in your case. Did you build the pipeline as reported in the
gstrtpbin examples?
> caps=application/x-rtp,media=audio,clock-rate=90000,
> encoding-name=MP4A-LATM,cpresent=0, \
>
> config=NULL,payload=96,ssrc=3574762534,clock-base=2565233379,seqnum-base=29343
you don't need to explicitly set ssrc, clock-base and seqnum-base.
Very likely the same receiving pipeline does not work across two
separate sessions.
> \
> ! gstrtpjitterbuffer \
dd you try to increase the latency value of the jitter buffer? You can
find a proper one by tcpdump-ing the traffic, measuring the maximim
jitter with e.g. wireshark and multiplying it by, let's say, a value
between 2 and 3.
> ! rtpmp4adepay \
> !
> audio/mpeg,channels=2,rate=44100,mpegversion=4,stream-format=raw,codec_data=\(buffer\)1210
> ! ffdec_aac
> ! pulsesink
As a trest, what if you set sync=false in pulsesink?
>
> NOTE: Actually sounds better without the jitter buffer.
This is pretty strange, even though "better" is somewhat a subjective issue.
>
> I tried modifying the source pipe to do ... ffenc-aac ! ffdec_aac !
> pulsesink. Sound great. I'm pretty sure that means the network or
> network elements are my problem.
Probably yes, but it's unlikely in case you've a very good quality
network (e.g. ethernet over wire and very few clients active on it).
In any cases, you definitely need a jitter buffer.
Regards,
Marco
>
> So, anyone have suggestions for getting better sound quality across the net?
> I know it's possible; other programs do it every day.
>
> ps. I have also coded the receiver in C, with and without gstrtpbin. Does
> not help.
>
> Warmly,
>
> Wers
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/udpsink-to-udpsrc-choppy-stacato-sine-wave-tp3050472p3050472.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today
> http://p.sf.net/sfu/msIE9-sfdev2dev
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list