Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: HE-Aac encoder for linux needed (Read 10067 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HE-Aac encoder for linux needed

I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.
Now I want to replace LAME with HE-AAC, so good acc encoder needed.
My tests show that FLAAC quality is much lesser compared to 3GPP encoder for example.
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?
I don't mean free solutions only.

Or have anyone used 3GPP's encoder to encode labMAD output, is it possible?

PS: I'm not looking for a command line utility, I'm looking for a C/C++ library to use in my program.

HE-Aac encoder for linux needed

Reply #1
What about Nero's AAC encoder?  It supports LC-AAC, HE-AACv1, and HE-AACv2 encoding.

HE-Aac encoder for linux needed

Reply #2
I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.

You mean that you take some MP3, decode it, and re-encode it to MP3 using LAME?

HE-Aac encoder for linux needed

Reply #3
Nero AAC encoder is a command-line utility, not a library that I can link to and use in my program.

What about Nero's AAC encoder?  It supports LC-AAC, HE-AACv1, and HE-AACv2 encoding.



HE-Aac encoder for linux needed

Reply #5
Maybe you could write your own library that provides a generic API for interfacing with a command line utility?  That would open up your options quite a bit.

Another option might be to take a look at the Quicktime API.  I've not taken a close look at it myself but it may provide the functionality you need.
edit: whoops you're looking for a linux library so I guess this is out....  (also note I'm sketchy on whether QT supports HE-AAC now or not)

Otherwise, if this is a commercial project you could talk to Nero about licensing the Nero Digital Audio API.

HE-Aac encoder for linux needed

Reply #6
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive

Maybe you could write your own library that provides a generic API for interfacing with a command line utility?  That would open up your options quite a bit.


HE-Aac encoder for linux needed

Reply #7
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.


 

HE-Aac encoder for linux needed

Reply #8
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.


Sorry, I'm not so good in English, I mean I decode and encode audio stream by pie?es, not by single frames of course

HE-Aac encoder for linux needed

Reply #9
This would be horrible slow as I decode and encode streams of audio by frames...
Make external system call for every frame is just too expensive


I think you are out of luck.  And anyway, encoding one frame at a time wouldn't make a whole lot of sense anyway.  You should probably fix your program to process a sane number of samples in each pass, or just decode the whole thing to wav, process it, and then encode.


Sorry, I'm not so good in English, I mean I decode and encode audio stream by pie?es, not by single frames of course


Ah ok.  An AAC frame is defined as 2048 samples, which indeed would be a very small bit of data

HE-Aac encoder for linux needed

Reply #10
(also note I'm sketchy on whether QT supports HE-AAC now or not)


Just to further hammer the nail in QuickTime's Linux coffin (at least for this purpose), it doesn't support the proper decoding  of HE-AAC files.  In fact, it can't encode HE-AAC files at all.  I don't know why Apple has refused to adapt HE-AAC.  I know many people could find it handy who own only an iPod shuffle or a 8GB (or less) iPod nano/touch.

HE-Aac encoder for linux needed

Reply #11
I'm developing an application that decodes mp3 files on-the-fly using libMAD end encodes it's output with LAME.
Now I want to replace LAME with HE-AAC, so good acc encoder needed.
My tests show that FLAAC quality is much lesser compared to 3GPP encoder for example.
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?
I don't mean free solutions only.

Or have anyone used 3GPP's encoder to encode labMAD output, is it possible?

PS: I'm not looking for a command line utility, I'm looking for a C/C++ library to use in my program.


libaacplus

http://tipok.org.ua/node/17