Други технологии > Компјутерска технологија и софтвер

Fraunhofer FDK-AAC

(1/2) > >>

GigaWatt:
Одличен open source AAC енкодер ;). Првично наменет за ARM архитектура и Android, но подоцна port-уван и за x86/x64 ;).


--- Code: ---https://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC
--- End code ---


--- Code: ---https://github.com/mstorsjo/fdk-aac
--- End code ---


--- Code: ---https://github.com/nu774/fdkaac
--- End code ---

За жал, лиценцата не дозволува дистрибуција на precompiled binaries, така да, мора сами да си го компајлирате ::). Под Linux, тоа е и не е баш голем проблем бидејќи оперативниот систем има секакви open source repositories за развој на софтвер и web апликации. Но, под Windows... тоа е мааалку потешко, па затоа, еве ги компајлирани библиотеките и exe-ињата кои ќе ви требаат за да може да енкодирате аудио под Windows ;).

download links:


--- Code: ---https://cloud.mail.ru/public/3nkz/2czPqtcmK
--- End code ---


--- Code: ---http://app.box.com/s/vkduvh3wv222xh9ly128os9si4r8o5w8
--- End code ---


--- Code: ---http://www.asuswebstorage.com/navigate/s/050806A21C964EC6814501012690AFB4W
--- End code ---


--- Code: ---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
--- End code ---

Јас лично најмногу го користам за енкодирање на аудио фајлови во 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: ---https://archive.codeplex.com/?p=behappy
--- End code ---


--- Code: ---https://github.com/jones1913/behappy/
--- End code ---


--- Code: ---https://www.softpedia.com/get/Multimedia/Audio/Audio-CD-Rippers-Encoders/BeHappy.shtml
--- End code ---











Пробајте го, звучи одлично и на 64kbps ;). Освен тоа, Android има native поддршка за AAC и HE-AAC, така да, може да си ја слушате музиката и преку Android Box, без притоа да осетите губиток на квалитет, но со помала големина на фајловите ;). Може да го користите и за кодирање на аудио на филмови ;).

GigaWatt:
Нова верзија, FDK-AAC Lib v2.0.1 ;).


--- Code: ---https://cloud.mail.ru/public/5y5f/4jFqnXLiR
--- End code ---


--- Code: ---https://www.asuswebstorage.com/navigate/a/#/s/7753008EBA564D9784CF4C0339AB539DY
--- End code ---


--- Code: ---https://app.box.com/s/wu4vd793ettvp4t9y3ioi04fpo08ot4w
--- End code ---

GigaWatt:
Друг compile, од filler56789 од doom9.net. Се во едно exe, без дополнителни библиотеки, а и прилично помало по големина ;). Ако ви треба само библиотеката, превеземете ја од претходните линкови ;).


--- Code: ---https://cloud.mail.ru/public/4fvr/5bsm2N9dA
--- End code ---


--- Code: ---https://www.asuswebstorage.com/navigate/a/#/s/278C77C776244512BEAE2D4F841D2BF3Y
--- End code ---


--- Code: ---https://app.box.com/s/08ds0xs7x990af4eztwubx2hqh1aw6ef
--- End code ---

KiloVolt:
Малку оф топик, колку си задоволен со ова и дали имаш досега најдено нешто што би го препорачал како добар начин да си ре-енкодирам flac во некој по-компактен формат за portable уреди, смартфон поконкретно.

GigaWatt:
Моментално, конкуренти се OPUS и HE-AAC. HE-AAC е базиран на AAC плус SBR (Spectral Band Replication). OPUS е базиран на OGG и може да користи и SBR. И со HE-AAC и со OPUS со SBR, теоретски, треба да добиеш ист квалитет на звук со дупло помал bitrate. Ова беше финтата со MP3Pro на времето, но беше closed source и пропадна како кодек. За разлика од него, FDK-AAC е open source AAC енкодер на Fraunhofer, но библиотеката е наменета за Android и според лиценцата, смееш да ја компајлираш и редистрибуираш само на Android уреди. Но, тоа никој не го спречува да ја port-ува библиотеката за некој друг оперативен систем и да го објави source-от за неа. Затоа и не е нелегално да стои source-от јавно некаде достапен (GitHub) од оваа x86/x64 верзија од библиотеката. И не е нелегално да ја компајлираш сам за своја употреба, но не и да ја споделуваш компајлираната верзија :P :D (oops ;D).

OPUS од друга страна, базиран е на еден формат кој пропадна како mainstream формат (OGG), иако доста често се користеше по игри бидејќи нудеше подобар квалитет на звукот во однос на MP3 за ист bitrate... плус, open source е и најважно, без royalty лиценци за комерцијална употреба (за разлика од MP3). Но, бидејќи кај домашните корисници, веќе беше длабоко навлезен MP3 како стандард, плус секој rip што можеш да го најдеш online, пиратски се споделуваше во MP3, MP3 стана de facto стандард за споделување и складирање на музика. OGG се појави и се надеваа дека ќе го заменат MP3, пред се бидејќи нудеше подобар квалитет на звук во однос на MP3 за ист bitrate, но тоа никогаш не се случи и практично... умре OGG. Да, сеуште постои како кодек, но практично... никој во денешно време не го користи.

Е сега... зошто OPUS се појави како играч на сцената (инаку, има и други кодеци кои користат SBR). Google решија да го користат како default аудио кодек за 720p, 1080p и 2160p видеа на YouTube. Зошто? Па исто како и OGG, не се плаќаат royalties за комерцијална употреба, т.е. за употреба на сервис како што е YouTube ;). И, ова, автоматски го популаризираше кодекот.

Вистинското прашање кое треба да го поставиш е „дали сметам дека кодекот во кој ќе ја транскодирам мојата музичка колекција има иднина или не“. Прво подпрашање би било, дали е open source. Ако не е, бегај ко ѓаол од крст, тоа нема иднина. Ова се има покажано со многу closed source кодеци: WMVx, WMA, MP3Pro (доволно глуп бев тогаш кога бев млад цела колекција да си ја прекодирам во MP3Pro ::)... многу музика, малку пари, немаш пари за HDD и... тоа ти е, сиромав човек, жив ѓавол ;D)... ги има доста. Повеќето се open source, но дел се и closed source. Практично, сите што беа closed source, пропаднаа. Од моментално популарните аудио и видео кодеци, сите се open source ;). ОК, одиме на второ подпрашање, која е историјата на кодекот. HE-AAC е базиран на AAC, кодек кој полека но сигурно си стекна популарност меѓу луѓето, а се разбира, и адаптацијата на баш овој кодек од страна на Apple во iTunes беше одличен boost за популарноста на кодекот. OPUS е базиран на OGG... пропаднат кодек кој, да, имаше предности во однос на MP3, но... не успеа во трката.

AAC (а со тоа и HE-AAC) се користат од страна на Apple како default аудио кодек за нивните платформи. OPUS се коисти како default аудио кодек за HD Ready, Full HD и Ultra HD stream-овите на YouTube. Кој ќе тепа? Не знам... не знам ни дали ќе има баш „победник“ во оваа „трка“... некако веќе се напушта тој концепт. Веќе е се stream based, крајниот корисник не знае што е користено за кодирање на аудиото и видеото во stream-от, а и не го интересира.

Така да, од скоро сите погоре наведени аспекти, скалата малку натежнува на страната на HE-AAC (заборавив да напоменам, AAC и HE-AAC се користат и во DAB), но и OPUS не стои лошо ;). Лично јас, сепак би се одлучил за HE-AAC од една проста причина - има многу повеќе алатки за него. FDK-AAC не е единствен HE-AAC енкодер/декодер, има и други, така да имаш избор ;). Од друга страна, OPUS е „детенце“ на Xiph.Org... практично, они одлучуваат во која насока ќе оди кодекот бидејќи не се води по ниеден стандард (за разлика од AAC кој е ISO и IEC стандардизиран), туку си измислуваат „нивни правила на игра“, слично како што правеше Fraunhofer со MP3Pro... не дека беше лоша идеја MP3Pro, всушност, беше одлична во времето кога беше измислен, но... за жал, лоша одлука во старт се направи со тоа што беше proprietary и тука ја зезнаа работата. Од тој аспект, не мораш да се плашиш дека музиката ќе ти остане „заробена“ во codec кој нема иднина, бидејќи OPUS е open source, но сепак... јас барем лично, би одел со codec кој е стандардизиран. Се имам изгорено претходно од нестандардизирани „хакови“ на кодеци... не, благодарам ;).

Navigation

[0] Message Index

[#] Next page

Go to full version