ffmpeg transcodifica audio in MPEG-4 HE AAC invece di AAC

2

Ho uno script di Automator che usa ffmpeg per reincapsulare un file video in un contenitore mp4 con il suo audio transcodificato in aac mentre lascia il video così com'è.

for f in "$@"
do
    /Applications/Scriptlets/ffmpeg -i "$f" -c:v copy -c:a aac -b:a 384k -strict -2 "${f%.*}.m4v"
done

Funziona bene e il video risultante funziona bene sul mio sistema sia in iTunes che in Quick Time Pro; provato con entrambi i file di origine avi e MOV. Tuttavia, ho appena notato che i file risultanti hanno il loro audio codificato in MPEG-4 HE AAC invece di semplice AAC come previsto. Di conseguenza, anche se il file funziona bene sul mio Mac, non riesco a riprodurlo sulla mia TV che riconosce AAC ma non HE-AAC . Qualche soluzione alternativa usando ffmpeg? Tieni presente che non è interessato a installare ancora un'altra applicazione di codifica / transcodifica per questo lavoro. Voglio solo usare ffmpeg quindi per favore non suggerisci di installare altro.

    
posta TheLearner 15.05.2014 - 08:08
fonte

2 risposte

2

Il problema è il tuo ffmpeg. Se dire a ffmpeg di usare aac lo fa codificare in he aac, se questo è vero, allora c'è qualcosa di sbagliato nel tuo ffmpeg, perché specificare aac non dovrebbe mai risultare in lui aac. Solo dire a ffmpeg di codificare usando libaacplus o libfdk_aac dovrebbe comportare la codifica di aac.

Ecco un'idea ... crea il tuo ffmpeg dal sorgente, perché il tuo binario è stato compilato in modo errato (se ciò che dici è vero).

Puoi scaricare il sorgente ffmpeg e costruirlo manualmente:

  git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

Ma è molto più facile installarlo usando la gestione dei pacchetti, come Macports:

MacPorts richiede una versione appropriata di xcode; xcode_5.1.1.dmg è la versione più recente per Mavericks (dopo registerring per un account sviluppatore gratuito e accesso a developer.apple.com, quel collegamento inizierà il download di xcode). Una volta completato il download, apri Terminal.app e completa l'installazione:

 hdiutil attach -quiet -noverify -nobrowse -noautoopen ~/Downloads/xcode_5.1.1.dmg
 cp -npR /Volumes/Xcode/Xcode.app /Applications/
 hdiutil detach -quiet /Volumes/Xcode

Scarica e crea macport:

Guida MacPorts

 curl -Ok https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
 tar xf MacPorts-2.2.1.tar.bz2
 cd MacPorts-2.2.1
 ./configure
 make
 sudo make install     # *not war!*
 cd ..
 rm -rf Macports-*
 sudo /opt/local/bin/port -v selfupdate
 diskutil quiet repairPermissions /

aggiungi macports al tuo $ PATH:

 export PATH=/opt/local/bin:/opt/local/sbin:$PATH
 export MANPATH=/opt/local/share/man:$MANPATH

crea il tuo ffmpeg

 sudo port -vsc install ffmpeg

puoi tenere tutto aggiornato semplicemente con:

 sudo port -vsc selfupdate
 sudo port -vsc upgrade installed

Se non sei soddisfatto e / o hai bisogno di rimuovere MacPorts:

 sudo port -dfp uninstall --follow-dependencies installed
 sudo port -dfp uninstall all
 sudo rm -rf /opt/local  
 sudo rm -rf /Library/Tcl/macports*
    
risposta data 15.05.2014 - 08:26
fonte
1

La Guida alla codifica AAC % per pagina wikiffmpeg dovrebbe essere d'aiuto.

Questa domanda superuser può anche aiutare Come utilizzare ffmpeg per eseguire il downmix di 5.1 DTS HD MA o Dolby TrueHD su stereo AAC con Dolby Pro Logic II?

La guida menziona più formati di codifica AAC che supportano ma potrebbero richiedere la compilazione personalizzata per essere presente:

FFmpeg can support four AAC-LC encoders (aac, libfaac, libfdk_aac, libvo_aacenc) and two AAC-HE encoders (libaacplus and libfdk_aac). The licenses of libaacplus, libfaac, and libfdk_aac are not compatible with the GPL, so the GPL does not permit distribution of binaries containing code licensed under these licenses when GPL-licensed code is also included. Therefore these encoders have been designated as "non-free", and you cannot download a pre-built ffmpeg that supports them. This can be resolved by compiling ffmpeg yourself.

Ci sono alcune guide per creare o ottenere build più efficaci di ffmpeg sul tuo Mac, ad esempio Installa FFMPEG su un Mac . Come accennato nell'articolo, trovo brew il modo più semplice per installare tali strumenti.

    
risposta data 15.05.2014 - 08:26
fonte

Leggi altre domande sui tag