[Bug 766267] RTP streaming of AAC/MP4A fails.
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu May 12 10:11:43 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=766267
Peter Maersk-Moller <pmaersk at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|NOTABUG |FIXED
--- Comment #10 from Peter Maersk-Moller <pmaersk at gmail.com> ---
Confirming setting caps for the udpsrc for audio to
audio_caps='application/x-rtp,media=audio,payload=96,clock-rate=44100,encoding-name=MP4A-LATM,cpresent=(string)0,config=(string)40002320'
works for streaming AAC using rtp as well as rtpbin for version 1.8.1.
I actually tried this before the initial report, but back then I omitted the
'(string)' qualifier for the config parameter. And it that case it failed.
First time ever I came across omitting a string qualifier for a parameter made
a difference, but I guess that is pure chance.
That said, when using the following receiver script and sender script, the
audio pauses for few hundred milliseconds every 2 seconds. Can anybody else
confirm this and should I open another bug report?
Thanks.
Receiver pipeline script
VDEPAY=rtph264depay
audio_caps='application/x-rtp,media=audio,payload=96,clock-rate=44100,encoding-name=MP4A-LATM,cpresent=(string)0,config=(string)40002320'
gst-launch-1.0 -v rtpbin name=rtpbin buffer-mode=slave \
udpsrc do-timestamp=1 caps=$video_caps port=$port_video_rtp !\
rtpbin.recv_rtp_sink_0 \
udpsrc port=$port_video_rtcp !\
rtpbin.recv_rtcp_sink_0 \
udpsrc caps=$audio_caps port=$port_audio_rtp !\
rtpbin.recv_rtp_sink_1 \
udpsrc port=$port_audio_rtcp !\
rtpbin.recv_rtcp_sink_1 \
rtpbin. !\
$VDEPAY ! decodebin name=vdecoder !\
videoconvert ! autovideosink \
rtpbin. !\
decodebin name=adecoder ! audioconvert !\
autoaudiosink
Sender pipeline script:
port_base=14000
port_video_rtp=$port_base
port_video_rtcp=$(($port_base+1))
port_audio_rtp=$(($port_base+2))
port_audio_rtcp=$(($port_base+3))
host=127.0.0.1
AUDIOFORMATOUT="audio/mpeg,mpegversion=4,stream-format=raw"
AUDIOFORMAT="audio/x-raw,format=S16LE,layout=interleaved,rate=44100,channels=2"
VIDSRC="videotestsrc is-live=1"
VIDEOFORMAT="video/x-raw,format=I420,pixel-aspect-ratio=1/1,interlace-mode=progressive,width=640,height=480,framerate=25/1"
VIDEOFORMATOUT="video/x-h264,alignment=au,stream-format=byte-stream,profile=main"
gst-launch-1.0 -v rtpbin name=rtpbin \
audiotestsrc is-live=1 !\
queue ! $AUDIOFORMAT !\
audioconvert ! faac bitrate=128000 ! aacparse !\
$AUDIOFORMATOUT !\
rtpmp4apay !\
rtpbin.send_rtp_sink_1 \
rtpbin.send_rtp_src_1 !\
udpsink host=$host port=$port_audio_rtp \
rtpbin.send_rtcp_src_1 !\
udpsink host=$host port=$port_audio_rtcp sync=false async=false \
videotestsrc is-live=1 !\
$VIDEOFORMAT !\
queue ! videoconvert !\
x264enc bitrate=1500 tune=zerolatency speed-preset=2 key-int-max=60
bframes=0 !\
$VIDEOFORMATOUT !\
h264parse ! rtph264pay !\
rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 !\
udpsink host=$host port=$port_video_rtp \
rtpbin.send_rtcp_src_0 !\
udpsink host=$host port=$port_video_rtcp sync=false async=false
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list