2008-09-16 3 views
15

Questa domanda è troppo pieno dalla seguente domanda:Qual è il modo più semplice per avvolgere un file .aac grezzo in un contenitore .m4a

How do I programmatically convert mp3 to an itunes-playable aac/m4a file?

In ogni caso, ho imparato a creare un file AAC e poi ho scoperto che un AAC non è solo un file m4a con una diversa estensione di file. In effetti, ho bisogno di avvolgere in qualche modo l'aac in un contenitore m4a. Idealmente, sarei in grado di effettuare semplicemente una chiamata alla riga di comando.

+0

Se si desidera eseguire il modo Java senza problemi con NDK e FFMPEG, controllare la risposta [qui] (http://stackoverflow.com/a/38369475/1188004). –

risposta

4

mp4box se si desidera uno strumento dedicato; è probabilmente il modo più semplice per andare. ffmpeg può fare anche il lavoro.

+3

Per aggiungere a questo, l'utilizzo di ffmpeg è semplice come "ffmpeg -i in.m4a -o out.aac". :) – porges

+3

mp4box è più o meno lo stesso, e lo raccomando su ffmpeg perché posiziona l'atomo di moov all'inizio piuttosto che alla fine, il che è importante per il download progressivo, la riproduzione dell'iPod, ecc. –

+4

Il formato per ffmpeg è in realtà : "Ffmpeg -i foo.aac foo.m4a", avvolgendo raw aac in m4a. – Smar

25

ffmpeg è uno scopo generale (de) muxer/transcoder. MP4Box è un (de) muxer/transcoder da GPAC, un pacchetto dedicato alla tecnologia software relativa a MP4. In questo momento sembra più saggio usare MP4Box perché ha il diritto all'atomo di moov all'inizio del file, che è importante per lo streaming e la riproduzione di iPod.

Usare ffmpeg come questo:

ffmpeg -i input.aac -codec: copy output.m4a 

Usa MP4Box come questo:

MP4Box -add input.aac#audio output.m4a 
+0

@ColonelPanic Quale hai provato? Come fai a sapere che non è avvolgente? – djeikyb

+0

L'output della console ha suggerito che 'ffmpeg' stava ricodificando la codifica, ci volle anche del tempo e il file aveva una dimensione significativamente diversa. Ma il comando 'mp4box' ha funzionato perfettamente e velocemente, grazie. –

+1

La pagina di manuale di @ColonelPanic ffmpeg dice che ha bisogno di una 'copia -codec'. Grazie per averlo capito. – djeikyb

2

avconv -i input.aac -acodec copy output.m4a

Nel mio caso, senza la bandiera esplicito copia, ri-codifica l'audio per qualche strana ragione.

+1

Forse una parola su 'avconv', che cos'è, dove lo si ottiene, in che modo differisce da' ffmpeg'? – einpoklum

1

Basta usare qualsiasi mp4-Muxer come Yamb per creare un mp4 -file con la sola traccia audio aac in esso, quindi modificare l'estensione del file m4a.