[vlc-devel] Fwd: MP4A-LATM transcoding

Antti Rintala antti.rintala at gmail.com
Tue Oct 28 08:40:30 CET 2008


---------- Forwarded message ----------
From: Antti Rintala <antti.rintala at gmail.com>
Date: Tue, Oct 28, 2008 at 9:30 AM
Subject: MP4A-LATM transcoding
To: streaming at videolan.org


Hello streaming list!

I have a problem at my hands, that is really killing me. When
transcoding from any stream source and using dss as delivery platform.
When the trancoded stream reaches my mobile phone (Nokia E90) or any
other phone we have tested, the sound stutters like hell. It's
reasonably fine with speech (low dynamic) but total CRAP with music
(high dynamic). So here are the facts:

Version:

VLC media player 0.9.3 Grishenko
[00000001] main libvlc debug: VLC media player - version 0.9.3
Grishenko - (c) 1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure
'--disable-glx' '--enable-ffmpeg' '--with-ffmpeg-faac'
'--with-ffmpeg-amrnb' '--enable-x264'
'--with-x264-tree=../x264-snapshot-20080930-2245' '--disable-live555'
'--disable-qt4' '--disable-skins2'
'PKG_CONFIG_PATH=/usr/local/lib/pkg-config'
[00000001] main libvlc debug: translation test: code is "C"
VLC version 0.9.3 Grishenko
Compiled by root at raptor.affinityserve.com
Compiler: gcc version 4.3.1 (Debian 4.3.1-2)

I use this to transcode:

vlc -I dummy http://any.radio.stream.url:8000 --sout
'#transcode{aenc=ffmpeg,acodec=mp4a,ab=64,samplerate=22050,channels=2,threads=1}:rtp{dst=my.destination.url,sdp=file:///tmp/foobar.sdp,name=Radio,mp4a-latm}'

SDP as follows:

v=0
o=- 14749684062012721984 14749684062012721984 IN IP4 raptor
s=Voice
i=N/A
c=IN IP4 <DSS IP ADDRESS>
t=0 0
a=tool:vlc 0.9.3
a=recvonly
a=type:broadcast
a=charset:UTF-8
m=audio 1350 RTP/AVP 96
b=AS:64
b=RR:0
a=rtpmap:96 MP4A-LATM/22050/2
a=fmtp:96 profile-level-id=15; object=2; cpresent=0; config=400027203fc0

SEE ATTACHED DOCUMENT FOR -vvv OUTPUT.


The problems:

[00000576] stream_out_transcode stream out debug: codec audio=mp4a
22050Hz 2 channels 64Kb/s

BUT

[00000576] stream_out_transcode stream out debug: creating audio
transcoding from fcc=`mpga' to fcc=`mp4a'
[00000576] stream_out_transcode stream out debug: Looking for filter
(mpga->s16l, channels 2->2, rate 44100->44100)
[00000576] stream_out_transcode stream out debug: Looking for filter
(fl32->s16l, channels 2->2, rate 44100->44100)

resampler doesn't work. (I have managed to get it working with a patch, though).

With:

VLC media player 1.0.0-git Goldeneye
[0x87fe8d0] main libvlc debug: VLC media player - version 1.0.0-git
Goldeneye - (c) 1996-2008 the VideoLAN team
[0x87fe8d0] main libvlc debug: libvlc was configured with ./configure
'--disable-glx' '--enable-ffmpeg' '--with-ffmpeg-faac' '--enable-x264'
'--with-x264-tree=../x264-snapshot-20080930-2245' '--enable-live555'
'--with-live555-path=../live/' '--disable-qt4' '--disable-skins2'
[0x87fe8d0] main libvlc debug: translation test: code is "C"
VLC version 1.0.0-git Goldeneye
Compiled by afs at raptor.affinityserve.com
Compiler: gcc version 4.3.1 (Debian 4.3.1-2)
Based upon Git commit [0.9.0-1258-g602f2d4]

[0xb7a98ee8] bandlimited_resampler filter debug:
fl32/44100KHz/2->s16l/22050KHz/2
[0xb7a98ee8] main filter debug: using audio filter2 module
"bandlimited_resampler"
[0xa0746c0] main stream out debug: Filter 'bandlimited_resampler'
(0xb7a98ee8) appended to chain

resampling works.

Now. There is a few things that could possibly be fucked up (just guesses).

I have read the specs of RFC3016
(http://www.rfc-editor.org/rfc/rfc3016.txt) and if I have intrepreted
the code correctly the modules/stream_out/rtpfmt.c
rtp_packetize_mp4a_latm doesn't implement rtp padding (which is
optional in the specification I know). Could this possibly cause the
stuttering of the stream?

Then how about the bandlimited resampler? I've heard from other users
as well, that there is some issues with it. Could this cause the
stuttering of the stream?



I would be very greatful to anyone who could shed some light to this
problem. And I could even be willing to pay to whoever can fix this!
Please, if you have any information regarding the subject, send me an
e-mail or even call (I'm on GMT+2).



Thanks in advance.

--
Antti Rintala
antti.rintala at gmail.com
+358 44 289 9628



-- 
Antti Rintala
antti.rintala at gmail.com
+358 44 289 9628
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radio.log
Type: application/octet-stream
Size: 11968 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20081028/0563fd60/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radio-goldeneye.log
Type: application/octet-stream
Size: 36344 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20081028/0563fd60/attachment-0001.obj>


More information about the vlc-devel mailing list