|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
Audacity e bitrate codec AAC
Audacity ultima versione e ultima versione libreria FFmpeg, converto un qualsiasi file stereo o no in un mp4 AAC da 128Kb e il file risultante non è da 128Kb, risulta piu' grande, non c'è verso anche dimunuendo proporzionalmente il bitrate non è fedele.
Capisco che il bitrate sia variabile, ma paragonato al file ottenuto da altri programmi di conversione o a quello che ottenevo con una versione vecchia di Audacity e analizzato con Mediainfo non risulta di 128Kb. In pratica settando 128000 come indicato e come facevo prima non si ottiene piu' un 128Kb e presumo che questo succeda anche con altri valori di bitrate. Molto Molto fastidioso, c'è un rimedio oltre a quello di tornare alla vecchia versione? Ultima modifica di Alessandro1970 : 15-03-2026 alle 15:14. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
mi rispondo io: è un BUG, tenerela vecchia versione ed aspettarne eventualmente una nuova
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8330
|
L'encoder di default di ffmpeg per aac fa schifo. Non lo usare. Piuttosto usa la libreria ffmpeg ma specificando il codec libfdk_aac.
Ma secondo me dovresti usare neroAAC o se sei su windows\mac un wrapper per itunes o per il codec aac fhg di winamp. Su audacity clicchi su File > Esporta > Esporta Audio... oppure usa la scorciatoia SHIFT+CTRL+E in basso a destra nel menu a tendina scegli esportazione FFMpeg personalizzata. Più sopra appare "Apri opzioni personalizzate formato FFMpeg". Clicca e ti si apre il mondo, divertiti. Ovviamente la libreria ffmpeg deve essere compilata col supporto per il codec fhg fdk libfdk altrimenti vedrai solo il classico aac. Comunque, impostando qualità=-1 e bitrate 128000 dovrebbe funzionare meglio di ciò che sperimento attualmente. Per questo secondo me la scelta migliore è usare un programma esterno. Per l'AAC su linux uso più che volentieri NeroAAC, e lo puoi usare anche su windows. Per fare ciò, sempre facendo Esporta Audio... vai a scegliere nel menu a tendina il programma esterno ad esempio NeroAAC.exe e gli dai i parametri che desidera che nel tuo caso sarà qualcosa del tipo. Tralaltro NeroAAC è uno fra i pochi ad implementare una vera codifica CBR. Codice:
C:\percorso\al\file\di\neroaac.exe -ignorelength -cbr 128000 -if - -of "%f.mp4"
__________________
System Failure Ultima modifica di Perseverance : 24-04-2026 alle 17:05. |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
Quote:
Quote:
Non c'è modo di avere una piccola interfaccia di neroAAC con un paio di cursori? Ultima modifica di Alessandro1970 : 24-04-2026 alle 15:55. |
||
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8330
|
Non è complicato, è che non ci hai speso nemmeno mezzo secondo per provare a farlo.
--edit-- Quote:
Clicca l'immagine per esempio, io sono su ubuntu ma ho cercato di farti vedere più o meno come sarà su windows il comando ![]() --edit2-- Ho provato personalmente a codificare un file, sempre lo stesso file nei tre grafici, anche se sono con linux dovrebbe essere poco differente da windows. Purtroppo in audacity quando scegli di esportare in M4A la barra sotto è buggata e il bitrate finale è completamente sputtanato. Il primo grafico si riferisce all'esportazione diretta con la barra dove selezioni il bitrate (è buggata, non funziona come vuoi), io avevo impostato 128 ma come vedi schizza oltre 400kbps, fa come gli pare. Il secondo e il terzo grafico invece rappresentano rispettivamente le opzioni impostate come ti ho detto pocanzi tramite l'opzione avanzata ffmpeg e tramite programma esterno in questo caso NeroAAC, io ovviamente ho la versione per linux ma sul sito rarewares.org trovi il pacchetto per tutto anche per windows. ![]() Come puoi vedere sia usando ffmpeg avanzato sia usando un codec esterno il risultato sarà quello voluto: 128Kbps average. La qualità ovviamente è superiore quella di neroaac rispetto al codec di default di ffmpeg (se non è compilato con fdk-aac allora vedrai solo aac nelle colonne).
__________________
System Failure Ultima modifica di Perseverance : 24-04-2026 alle 17:36. |
|
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
Quote:
Quote:
|
||
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8330
|
Intanto rileggi che ho editato il post precedente con nuove info.
Quote:
-q 0.40 più o meno sputa dai 120 ai 140Kbps salvo file particolarmente strani. Comunque se devi usare un bitrate medio predeterminato usa -cbr e vivi felice così non avrai sorprese. Come vedi dai grafici CBR non esiste nella pratica. È finito con l'era mp3. Leggi l'help dell'encoder: Codice:
*************************************************************
* *
* Nero AAC Encoder *
* Copyright 2009 Nero AG *
* All Rights Reserved Worldwide *
* *
* Package build date: Feb 18 2010 *
* Package version: 1.5.4.0 *
* *
* See -help for a complete list of available parameters. *
* *
*************************************************************
Usage:
neroAacEnc [options] -if <input-file> -of <output-file>
Where:
<input-file> : Path to source file to encode.
The file must be in Microsoft WAV format and contain PCM data.
Specify - to encode from stdin.
Note that multiple input files can be specified, they will be
encoded together into a single output file with chapter marks
indicating source file divisions.
<output-file> : Path to output file to encode to, in MP4 format.
==== Available options: ====
Quality/bitrate control:
-q <number> : Enables "target quality" mode.
<number> is a floating-point number in 0...1 range.
-br <number> : Specifies "target bitrate" mode.
<number> is target bitrate in bits per second.
-cbr <number> : Specifies "target bitrate (streaming)" mode.
<number> is target bitrate in bits per second.
When neither of above quality/bitrate options is used,
the encoder defaults to equivalent of -q 0.5
Multipass encoding:
-2pass : Enables two-pass encoding mode.
Note that two-pass more requires a physical file as input,
rather than stdin.
-2passperiod : Overrides two-pass encoding bitrate averaging period,
<number> : in milliseconds.
: Specify zero to use least restrictive value possible (default).
Advanced features / troubleshooting:
-lc : Forces use of LC AAC profile (HE features disabled).
-he : Forces use of HE AAC profile (HEv2 features disabled).
-hev2 : Forces use of HEv2 AAC profile
Note that the above switches (-lc, -he, -hev2) should not be
used; optimal AAC profile is automatically determined from
quality/bitrate settings when no override is specified.
-ignorelength : Ignores length signaled by WAV headers of input file.
Useful for certain frontends using stdin.
__________________
System Failure |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
Perfetto, domani provo. Pensavo che il VBR fosse particolarmente utile nel comprimere traccie 5.1 da film dove i surround per esempio avrano senz'altro bisogno di meno bitrate e quindi con VBR può essere distribuito in maniera piu' utile. Faro' 2 prove e se no andro' di CBR.
Ultima modifica di Alessandro1970 : 24-04-2026 alle 17:53. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8330
|
Nononono, tu fai confusione xkè non conosci come funziona la codifica dei segnali stereo o multicanale nei moderni encoder. Il VBR è una cosa, il bitallocation è un'altra. Il vecchio encoder MP2 aveva una bitallocation fissa per entrambi i canali, ma già dall'MP3 anche in modalità stereo (ancora meglio il joint stereo) ai canali L ed R può venir assegnato un bitrate differente per ogni frame audio anche se in cbr. Negli mp3 solo con l'opzione dual channel il bitrate è esattamente la metà per ogni canale.
Coi moderni encoder aac, ogg, opus, eccetera, questa è la regola di default anche per i flussi multicanale. Non ti devi preoccupare di questo. Se un file è CBR o VBR in ogni caso la routine interna di bitallocation suddividerà a sua volta i bit come gli torna più comodo fra i canali secondo il modello psicoacustico. --edit-- Visto che usi AAC, io userei l'estensione HE di default forzatamente aggiungendo il parametro -he, se alla fine i dispositivi dove ti interessa riprodurlo sono compatibili, così aumenterai la qualità percepita ancora di più. Secondo me -q 0.45 -he come parametri è il minimo adeguato per una codifica multicanale senza troppi compromessi.
__________________
System Failure Ultima modifica di Perseverance : 24-04-2026 alle 18:16. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
ok ho capito tutto, ho provato neroAAC in Audacity con i comandi a linea, sembra funzionare, ma poco dopo si inchioda tutto, provato file e versioni di Audacity diverse.
Mi è anche venuto in mente di implementare il QAAC di Apple come encoder....un incubo. Non sarà complesso, ma è tutto troppo impegnativo ed approssimativo, ti ringrazio della pazienza ma desisto. Per file musicali audio stereo: FLAC>AAC uso Foobar2000 con NeroENC qualità massima. Per audio 5.1: DTS/AC3>AAC carico in Audacity (o MeGUI) (vecchia 3.1.3 con relativa vecchia FFmpeg) mixo o no in 2.0 ed esporto o con FFmpeg personalizzata (con questa versione non canna il bitrate) ad un valore simile allo 0.45 che mi consigliavi (5.1) o altro, oppure esporto in WAV e poi con lameXP comprimo in AAC col NeroAAC e i suoi bei cursorini. Grazie, ciao. P.S.: ma NEROAAC non si aggiorna piu'? Non si sa di una libreria piu' recente che non sbagli il bitrate in audacity? P.P.S.: ho visto adesso che in MeGUI e facile aggiungere FDKaac, bene. Ultima modifica di Alessandro1970 : 25-04-2026 alle 12:29. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2008
Messaggi: 1070
|
con quale programma hai ottenuto il grafico del bitrate che hai postato sopra?
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8330
|
Non è un programma è uno script in bash che usa gnuplot, ffprobe e awk per i calcoli. Nulla di professionale, anzi tutt'altro, ma da quando lo uso per quel poco che ci devo fare mi va benissimo così. Ogni tanto lo ritocco per migliorare qualcosa all'occorrenza ma più o meno quello è.
Ora che me l'hai rimesso in mente, accidenti a te, l'ultima volta che lo abbandonai all'oblio mi ricordo che volevo fare un'aggiunta con un ulteriore grafico una sorta di curva gaussiana di come è ripartito il bitrate in percentuale rispetto alla dimensione del file. Un po' come fa avinaptic testuale coi cancelletti #### , ma poi dissi, caxxo c'è avinaptic, uso quello che non è tanto diverso da come lo vorrei...e quindi non mi sono più rimesso a scrivere codice.
__________________
System Failure |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:50.
























