Skip to main content

Topic: HE-Aac encoder for linux needed (Read 7727 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.
  • Last Edit: 22 February, 2009, 05:58:20 PM by MediaJunkie

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

  • kwanbis
  • [*][*][*][*][*]
  • Developer (Donating)
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 #4
Exactly.
Re-encoding allows me to add sound effects like crossfading and bitrate convertions.

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?


  • xenobrain
  • [*]
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.
  • Last Edit: 22 February, 2009, 06:27:14 PM by xenobrain

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.


  • saratoga
  • [*][*][*][*][*]
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

  • saratoga
  • [*][*][*][*][*]
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.

  • stlpaul
  • [*]
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


  • patmcg
  • [*][*]
HE-Aac encoder for linux needed
Reply #12
Is there any alternative to FLAAC with better quality closer to 3GPP's encoder?


What about aacplusenc from http://teknoraver.net/software/mp4tools ? I haven't tried it, but maybe it is an alternative to Nero?
Is your perfect hearing worth <$200? -- USE EAR PLUGS