AAC/RTP streaming
Martin Vachovski
Martin.Vachovski at skytek.com
Tue Sep 26 16:03:28 UTC 2017
Hello everybody,
Some update, actually when I use the above pipelines I get some warnings if I set --gst-debug-level=4
0:00:08.188353677 10704 031FBAB8 ERROR libav :0:: Input buffer exhausted before END element found
0:00:08.188447229 10704 031FBAB8 WARN libav gstavauddec.c:635:gst_ffmpegauddec_frame:<avdec_aac0> avdec_aac: decoding error (len: -1094995529, have_data: 0)
Any idea why is that error and how it can be handled? I've tried to play with the parameters of the encoding and payloading elements, but no luck so far
On a side note... I noticed that under Windows 10/Gstreamer 1.12.2, the pipelines which use the default property host="localhost" for udpsink, won't work.
The reason is that "localhost" in Windows 10 with IPv6 is treated as the IPv6 ::1 address rather than the 127.0.0.1,
and udpsrc bounds to 0.0.0.0 (which bounds only to the IPv4 addresses of the system). Hope that saves some time if anyone is working with udpsink/src and Win10
?
Cheers
Martin
________________________________
From: Martin Vachovski
Sent: Tuesday, September 26, 2017 12:05 PM
To: gstreamer-devel at lists.freedesktop.org
Subject: AAC/RTP streaming
Hello everybody,
I am trying to implement AAC streaming overt RTP, but the receiving pipeline doesn't play any audio (although it says it goes to PLAYING state).
?I am using the following pipelines with gstreamer 1.12.2:
TX:
gst-launch-1.0.exe -v audiotestsrc ! audioconvert ! avenc_aac ! rtpmp4apay ! udpsink
RX:
gst-launch-1.0.exe -v udpsrc ! application/x-rtp,clock-rate=44100 ! rtpjitterbuffer ! rtpmp4adepay ! avdec_aac ! audioconvert ! autoaudiosink
(I have also tried replacing the "avdec_aac" element with a "decodebin").
The pipelines don't report any errors, but the second one doesn't play any sound.
I wonder if there is any other setting, caps I need to specify? I know that the Vorbis codec,
for instance, needs the DCT coefficients of the transform as extra data when streaming over the network?
Also, if I merge the two pipelines together (omitting the udpsink/udpsrc pair), the pipeline works:
audiotestsrc volume=0.1 ! audioconvert ! avenc_aac ! rtpmp4apay ! application/x-rtp,clock-rate=44100 ! rtpjitterbuffer ! rtpmp4adepay ! avdec_aac ! audioconvert ! wavescope ! videoconvert ! autovideosink
I have also tried to supply all the CAPS as reported by the SRC pad of "rtpmp4apay " before the "rtpjitterbuffer", still no luck
/GstPipeline:pipeline0/GstRtpMP4APay:rtpmp4apay0.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)MP4A-LATM, cpresent=(string)0, config=(string)40002410adca00, payload=(int)96, ssrc=(uint)3854776221, timestamp-offset=(uint)466007625, seqnum-offset=(uint)12210
Many thanks!
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170926/1e1353e4/attachment.html>
More information about the gstreamer-devel
mailing list