nu774 / fdkaac

command line encoder frontend for libfdk-aac
Other
259 stars 57 forks source link

Decode Functionality #20

Open czchmate opened 8 years ago

czchmate commented 8 years ago

Would it be possible to incorporate FDK-AAC's decoding functionality or is there some reason that it hasn't been implemented?

There are certain instances where I'd love to be able to decode to .WAV or, if we're ambitious, decode/encode into .FLAC. Currently, I have to rely on non-open source options when I'm on a Windows box. Not my favorite thing to do.

darealshinji commented 8 years ago

Nice idea. But you don't have to rely on closed-source options. You can use ffmpeg (ffmpeg -i in.m4a out.wav) or Audacity to encode aac files into PCM wav.

czchmate commented 8 years ago

Ha! Actually, right after I sent that I was thinking, "but wait, I use ffmpeg for most other file conversions." In fact, I've even used it for AAC. Moreover, I actually did a recent custom compile of ffmpeg with the fdk-aac library included. Maybe I should think before I type.

nu774 commented 8 years ago

FDK-AAC is not as well optimized as ffmpeg native AAC decoder (which is insanely fast on recent CPU). Now that ffmpeg supports minor profiles such as AAC-ELD, I don't see much point in using FDK-AAC decoder.

AliceWonderMiscreations commented 7 years ago

There is value. The fdk-aac library supports decoding, but there are not (AFAIK) and decoders that use it.

There are other CLI ways to decode AAC such as FFmpeg, FAAD2, and even the fluendo GStreamer plugins via gst-launch but diversity is options is always a good thing.

First of all sometimes a project loses traction. Secondly, with MP3 it is not uncommon to come across files that break the spec that one decoder can not handle but another one can salvage.

Whether it is this project or a separate project, I would like to see a CLI AAC decoder that uses the fdk-aac decoding library.

nu774 commented 7 years ago

Well actually, ffmpeg has been supporting not only encoding but also decoding by libfdk-aac when build with --enable-libfdk-aac (this requires --enable-nonfree, therefore you have to build ffmpeg yourself to enable it).

I have developed this project only because ffmpeg doesn't support proper gapless encoding (ffmpeg doesn't write necessary metadata for gapless playback). As for decoding, I have no interest.