PLC in AAC audio stream using RTSP

Romeo romeomartens at gmail.com
Fri Feb 2 17:22:51 UTC 2018


Hi,

I'm trying to stream the audio of 2 smartphones simultaneously and save
it in the same wav file. It works, but there is no packet loss concealing,
so when there is a packet lost in one, there is a delay between the audio
of the 2 smartphones. For the moment I'm using an app to stream AAC audio
over RTSP. The streams are received with following pipelines:

gst-launch-1.0 -e rtspsrc location=RTSP1 latency=0 ! decodebin !
audioconvert ! audio/x-raw, Clockrate=32000 ! audioconvert ! avenc_ac3 !
rtpac3pay ! udpsink host=127.0.0.1 port=8888

gst-launch-1.0 -e rtspsrc location=RTSP2 latency=0 ! decodebin !
audioconvert ! audio/x-raw, Clockrate=32000 ! audioconvert ! avenc_ac3 !
rtpac3pay ! udpsink host=127.0.0.1 port=8890
 
with RTSP1 and RTSP2 the locations used in the app. Then I use following
pipeline to combine the
2 in one wav file:

Gst-launch-1.0 -e udpsrc port=8888 ! application/x-rtp, clock-rate=32000 !
rtpac3depay ! ac3parse ! avdec_ac3 ! audioconvert ! interleave name=i !
audioconvert ! queue ! wavenc ! filesink location="test.wav" udpsrc
port=8890 ! application/x-rtp, clock-rate=32000 ! rtpac3depay ! ac3parse !
avdec_ac3 ! audioconvert ! i.sink_1

I tried using "do-lost=true" in rtpjitterbuffer, but I don't see how I can
use that for AAC decoded audio:

gst-launch-1.0 -e rtspsrc location=RTSP1 latency=0 ! rtpjitterbuffer
do-lost=true ! decodebin ! audioconvert ! audio/x-raw, Clockrate=32000 !
audioconvert ! avenc_ac3 ! rtpac3pay ! udpsink host=127.0.0.1 port=8888

I don't think decodebin can do PLC so I tried replacing decodebin with an
AAC decoder but it didn't work...
I just want that lost packets are replaced with a silence, in order to make
sure the delay between the 2 audio streams doesn't change

Thanks in advance,

Romeo







--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list