-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Distorted sound in AAC stream #67
Comments
i have same issue but its way more noticeable like the sound is almost muted, just occasionally few fraction of seconds |
Link still works fine for me but here it is compressed with zip (due to file type restrictions in GH). |
Regarding decoders: Those that work well: # ffmpeg
$ gst-launch-1.0 filesrc location=out.aac ! aacparse ! avdec_aac ! audioresample ! audioconvert ! audio/x-raw,format=S16LE,rate=41000 ! wavenc ! filesink location=out-av.wav
# fdk-aac
$ gst-launch-1.0 filesrc location=out.aac ! aacparse ! fdkaacdec ! audioresample ! audioconvert ! audio/x-raw,format=S16LE,rate=41000 ! wavenc ! filesink location=out-fdk-aac.wav And for $ gst-launch-1.0 filesrc location=out.aac ! aacparse ! faad ! audioresample ! audioconvert ! audio/x-raw,format=S16LE,rate=41000 ! wavenc ! filesink location=out-faad.wav |
Thanks. This will help a lot. |
Even with faad executable distortion is reproducible. |
Likely found one problem: faad2 drops the first frame output. But distortion is still there... |
One more clue - decoding in "fixed_point" mode produces loud noise... Still do not have enough time to pinpoint the problem... |
#149 should fix dropping of the first frame. Not adding primer as FDK does, because it seems to be too much. |
At last debugging session I've got some insights and understood that I need to dive deeper. Going to remove it from blocker list, as have no resources to fix it timely. |
Noticed this for some iTunes M4A files as well. Using minimp4 as demuxer, though. Problem vanishes with libfdk-aac. |
Found simple example with fdk-aac here. Debugging In fdk-aac second frame has some values initially and data are zeroed in sbr processing (inside
qmfSynPrototypeFirSlot qmf.cpp:184
qmfSynthesisFilteringSlot qmf.cpp:881
qmfSynthesisFiltering qmf.cpp:951
sbr_dec sbr_dec.cpp:571
sbrDecoder_DecodeElement sbrdecoder.cpp:1473
sbrDecoder_Apply sbrdecoder.cpp:1624
aacDecoder_DecodeFrame aacdecoder_lib.cpp:951
AacDecoder::aacdec_decode_frame fdkaac_dec.cpp:79
main dec_test.cpp:100
So seems libfaad makes something differently in sbr processing (if I properly found similar place something wrong might be here) |
48kbps AAC stream is decoded fine with ffmpeg while faad2 decodes it distorted. However I think for a small fraction of second at the very beginning it plays fine (volume level is significantly different between "good" and "bad"). Sample can be downloaded here:
http://jpalus.fastmail.com/out.aac
The text was updated successfully, but these errors were encountered: