Portál AbcLinuxu, 4. května 2025 16:49
Rád bych vám představil můj jednoduchý skript na převod formátů aac, flac, mp3, mp4, mpc, ogg, wma, wav
mezi sebou, který nese jméno NCoda.
Dnes se (díky radám v dikusi Bash: Vyjmutí části slova až k určitému výrazu) dostal do stádia, kdy jsem s ním docela spokojený.
Přesto jsou ještě věci, ve kterých by mohl být lepší. Musím například udělat to, aby když výsledný formát není wav
převáděl po jedný stopě a dočasný wav
y hned mazal, z důvodu možného malého disku. Dále je to mazání dočasných wav
ů vůbec, zatím to tam je tak trochu divný. Nemůžu smazat wav
po převodu, když nevím, zda původním formátem není wav
a já nechci mazat původní soubory (tohle vyřeší nějakej ten if
, zase až se mi bude chtít). Dále bych chtěl přidat podporu více formátů a případně možnost převádět do wma
(sice nevím, kdo by to dělal, ale někomu by se to mohlo hodit), takže pokud mi poradíte nějakej ten formát a případně i (opensource [min. freeware], commandline) softík, co ho zmákne, bude to fajn. :)
Tiskni
Sdílej:
--preset extreme
u lame
nemůže uškodit).
U oggenc
bych s kvalitou pod 6 nešel (default je tuším 3). Ale i tak ten skript může být pro někoho určitě užitečný.
Závidím ti tu jistotu
Neřekl bych. U mp3 zatraceně záleží na encodéru. Ogg (pokud vím), jen jeden.
Pokud seš tak náročnej, používej FLAC.Ono je problém, že v některých případech nestací CD. A to jak frekvencí, tak hlavně dynamikou. Na kvalitních sluchátkách to jde prostě poznat.
Nebo --preset 192
výsledek bude mít průměr 192 a přitom se nepřipravíte o výhodu variabilního bitrate.
To se nedá nic dělat.ale da :) ja taky nehodlam pouzivat ten tvuj skript...
aac2wav() { for F in *.[aA][aA][cC] do faad -o "${F%%.*}.wav" "$F" done }a
wav2aac() { for F in *.[wW][aA][vV] do faac -q 192 "$F" done }
V pohodě, jen sem ti chtěl dát podměty k vylepšeníJá vím a za to dík.
Btw. můžeš pak přidat kdyžtak ještě funkci na kódování z/do .mp4 kontejneru. Uplně na chlup stejně jako u toho aac, jen změníš příponu z aac na mp4 (faac podle přípony sám pozná do jakého kontejneru ten audio stream má uzavírat).Stalo se.
A pokud bys chtěl převádět mezi aac a mp4, tak žádné další rekódování (a tedy mršení kvality) provádět samozřejmě nemusíš, to je jen otázka přesypání toho AAC audio streamu z/do MP4 kontejneru a faad2 či faac to samozřejmě umí.Tak na to už snad opravdu mrknu až zítra.
make[1]: Leaving directory `/home/david/compile/3GPP_enhanced_aacPlus_src_150905/FloatFR_aacPlusenc/FloatFR_bitbuflib' g++ -o enhAacPlusEnc ./src/main.o ./src/mp4file.o -LFloatFR_fastaacenc/lib/Linux -laacenc -LFloatFR_sbrenclib/lib/Linux -lsbrenc -Llib/linux -laudio -LFloatFR_resamplib/lib/Linux -lFloatFR_resamp -LFloatFRlib/lib/Linux -lFloatFR -LFloatFR_bitbuflib/lib/Linux -lbitbuf -Llib/linux -lisomediafile -lm /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible lib/linux/libaudio.a when searching for -laudio /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible lib/linux/libaudio.a when searching for -laudio /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible lib/linux/libisomediafile.a when searching for -lisomediafile /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible lib/linux/libisomediafile.a when searching for -lisomediafile /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lisomediafile collect2: ld returned 1 exit status gmake: *** [all] Error 1Píšou tam, že je to jen pro x86. Zřejmě budu potřebovat binárku.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.