Skip to content
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

Implement AAC-HE v1 and v2 #1

Open
devongovett opened this issue Mar 25, 2012 · 10 comments
Open

Implement AAC-HE v1 and v2 #1

devongovett opened this issue Mar 25, 2012 · 10 comments

Comments

@devongovett
Copy link
Member

Right now we have AAC-LC working but it would be good to support AAC-HE v1 and v2 for streaming purposes. I don't think many of the other profiles are actually used very much these days... Anyway, this means implementing SBR (Spectral Band Replication) and PS (Parametric Stereo) decoding.

@mahadevan-k
Copy link

Pull implementations from FAAD2 or something like that?

@bawNg
Copy link

bawNg commented Jul 10, 2013

AAC-HE v2 support would be really awesome!

@marchant
Copy link

This has been opened for a while, the support for AAC-HE would indeed be great! Any update on this?

@devongovett
Copy link
Member Author

I don't have time to work on this myself (sorry!), but I'll accept a working pull request from someone gladly. Would be awesome to have. Otherwise, someone might be able to do an Emscripten compile of some library as a separate project...

@marchant
Copy link

would be able to share some pointers and offer some guidance to help someone else do it?

@devongovett
Copy link
Member Author

Sure. I based this implementation on several other projects, linked to from the readme. I also left a bunch of comments in the code (TODOs) with missing functionality. As mentioned above, it would be SBR (Spectral Band Replication) and PS (Parametric Stereo) for HE support, so look for mentions of those in comments and code as starting points. The code starts in decoder.js and goes from there. You'll have to follow the algorithm that is already implemented by comparing it with some other implementations, and you may be able to see where the HE support should hook in by seeing how the existing functions are implemented. Not sure what other advice to give, but if anyone implementing this has questions I will try my best to answer them!

@marchant
Copy link

Ok, thanks for the quick answer!

@marchant
Copy link

I was able to read and convert and HE-AAC file with this: http://quick-apps.com/audio/ that uses this project:
https://github.com/sopel39/audioconverter.js

Did you know that project? Might be a good place to start?

@devongovett
Copy link
Member Author

That's a port of ffmpeg, which is a huge library. It may work for you, but I don't know what your requirements are. Aurora codecs decode as needed and can stream files from various sources, and I'm not sure what that project can do. So it's probably not the best as an Aurora codec for those reasons, but you might be able to get by with it for your project if it fits your requirements. Otherwise, I'd suggest porting a standalone AAC decoder using Emscripten, or doing a hand port to fit in with this library.

@devongovett
Copy link
Member Author

WIP on HE-AAC v1 happening here: #13.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants