Author Topic: Fraunhofer FDK-AAC  (Read 140 times)

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 11664
  • Gender: Male
  • Не фалширам
Fraunhofer FDK-AAC
« Opened on 17.01.2019, Thursday, 04:34:23 (Edited 04.06.2019, Tuesday, 12:49:44) »
Одличен open source AAC енкодер ;). Првично наменет за ARM архитектура и Android, но подоцна port-уван и за x86/x64 ;).

Code: [Select]
https://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC
Code: [Select]
https://github.com/mstorsjo/fdk-aac
Code: [Select]
https://github.com/nu774/fdkaac
За жал, лиценцата не дозволува дистрибуција на precompiled binaries, така да, мора сами да си го компајлирате ::). Под Linux, тоа е и не е баш голем проблем бидејќи оперативниот систем има секакви open source repositories за развој на софтвер и web апликации. Но, под Windows... тоа е мааалку потешко, па затоа, еве ги компајлирани библиотеките и exe-ињата кои ќе ви требаат за да може да енкодирате аудио под Windows ;).

download links:

Code: [Select]
https://cloud.mail.ru/public/3nkz/2czPqtcmK
Code: [Select]
http://app.box.com/s/vkduvh3wv222xh9ly128os9si4r8o5w8
Code: [Select]
http://www.asuswebstorage.com/navigate/s/050806A21C964EC6814501012690AFB4W
Code: [Select]
fdkaac 1.0.0
Usage: fdkaac [options] input_file
Options:
 -h, --help                    Print this help message
 -p, --profile <n>             Profile (audio object type)
                                 2: MPEG-4 AAC LC (default)
                                 5: MPEG-4 HE-AAC (SBR)
                                29: MPEG-4 HE-AAC v2 (SBR+PS)
                                23: MPEG-4 AAC LD
                                39: MPEG-4 AAC ELD
 -b, --bitrate <n>             Bitrate in bits per seconds (for CBR)
 -m, --bitrate-mode <n>        Bitrate configuration
                                 0: CBR (default)
                                 1-5: VBR
                               (VBR mode is not officially supported, and
                                works only on a certain combination of
                                parameter settings, sample rate, and
                                channel configuration)
 -w, --bandwidth <n>           Frequency bandwidth in Hz (AAC LC only)
 -a, --afterburner <n>         Afterburner
                                 0: Off
                                 1: On(default)
 -L, --lowdelay-sbr <-1|0|1>   Configure SBR activity on AAC ELD
                                -1: Use ELD SBR auto configurator
                                 0: Disable SBR on ELD (default)
                                 1: Enable SBR on ELD
 -s, --sbr-ratio <0|1|2>       Controls activation of downsampled SBR
                                 0: Use lib default (default)
                                 1: downsampled SBR (default for ELD+SBR)
                                 2: dual-rate SBR (default for HE-AAC)
 -f, --transport-format <n>    Transport format
                                 0: RAW (default, muxed into M4A)
                                 1: ADIF
                                 2: ADTS
                                 6: LATM MCP=1
                                 7: LATM MCP=0
                                10: LOAS/LATM (LATM within LOAS)
 -C, --adts-crc-check          Add CRC protection on ADTS header
 -h, --header-period <n>       StreamMuxConfig/PCE repetition period in
                               transport layer

 -o <filename>                 Output filename
 -G, --gapless-mode <n>        Encoder delay signaling for gapless playback
                                 0: iTunSMPB (default)
                                 1: ISO standard (edts + sgpd)
                                 2: Both
 --include-sbr-delay           Count SBR decoder delay in encoder delay
                               This is not iTunes compatible, but is default
                               behavior of FDK library.
 -I, --ignorelength            Ignore length of WAV header
 -S, --silent                  Don't print progress messages
 --moov-before-mdat            Place moov box before mdat box on m4a output

Options for raw (headerless) input:
 -R, --raw                     Treat input as raw (by default WAV is
                               assumed)
 --raw-channels <n>            Number of channels (default: 2)
 --raw-rate     <n>            Sample rate (default: 44100)
 --raw-format   <spec>         Sample format, default is "S16L".
                               Spec is as follows:
                                1st char: S(igned)|U(nsigned)|F(loat)
                                2nd part: bits per channel
                                Last char: L(ittle)|B(ig)
                               Last char can be omitted, in which case L is
                               assumed. Spec is case insensitive, therefore
                               "u16b" is same as "U16B".

Tagging options:
 --title <string>
 --artist <string>
 --album <string>
 --genre <string>
 --date <string>
 --composer <string>
 --grouping <string>
 --comment <string>
 --album-artist <string>
 --track <number[/total]>
 --disk <number[/total]>
 --tempo <n>
 --tag <fcc>:<value>          Set iTunes predefined tag with four char code.
 --tag-from-file <fcc>:<filename>
                              Same as above, but value is read from file.
 --long-tag <name>:<value>    Set arbitrary tag as iTunes custom metadata.
 --tag-from-json <filename[?dot_notation]>
                              Read tags from JSON. By default, tags are
                              assumed to be direct children of the root
                              object(dictionary).
                              Optionally, position of the dictionary
                              that contains tags can be specified with
                              dotted notation.
                              Example:
                                --tag-from-json /path/to/json?format.tags

Јас лично најмногу го користам за енкодирање на аудио фајлови во HE-AAC. Претходник на овој тип на кодирање на Fraunhofer им беше mp3PRO енкодерот, но за жал, тој не беше open source, беше врзан со многу скапи лиценци за редистрибуција и native поддршка за playback на mp3PRO фајлови на хардверски уреди (портабл CD/радио плеери, DVD плеери, итн.), а освен тоа, единствени софтверски компании кои нудеа кодирање на mp3PRO фајлови беа Nero и Syntrillium (го изработуваа Cool Edit, сегашно Adobe Audition), така да, немаше голем интерес за кодекот и пропадна :-\. Изгледа Fraunhofer се опаметија од нивниот претходен дебакл и решија да го направат енкодерот open source, со тоа што се наплаќа само за комерцијална употреба на енкодерот ;).

За жал, алатката мора да ја повикате преку command line, но има GUI-а кои овозможуваат автоматски да се зададат команди на libfdk-aac (libfdk-aac-2.dll) преку API-то на библиотеката ;). MeGUI го овозможува ова, иако е пред се програм наменет за прекодирање на видео фајлови. BeHappy исто така го поддржува овој HE-AAC енкодер ;).

Code: [Select]
https://archive.codeplex.com/?p=behappy
Code: [Select]
https://github.com/jones1913/behappy/
Code: [Select]
https://www.softpedia.com/get/Multimedia/Audio/Audio-CD-Rippers-Encoders/BeHappy.shtml










Пробајте го, звучи одлично и на 64kbps ;). Освен тоа, Android има native поддршка за AAC и HE-AAC, така да, може да си ја слушате музиката и преку Android Box, без притоа да осетите губиток на квалитет, но со помала големина на фајловите ;). Може да го користите и за кодирање на аудио на филмови ;).
It's not schizophrenia... It's just a voice in my head...

"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."