ffmpeg transcodifica audio a MPEG-4 HE AAC en lugar de AAC

2

Tengo un script de Automator que usa ffmpeg para volver a encapsular un archivo de video en un contenedor mp4 con su audio transcodificado a aac mientras salgo del video como está.

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

Esto funciona bien y el video resultante se reproduce bien en mi sistema tanto en iTunes como en Quick Time Pro; Lo probé con archivos fuente avi y mov. Sin embargo, me di cuenta de que los archivos resultantes tienen su audio codificado en MPEG-4 HE AAC en lugar de simple AAC como se esperaba. Como resultado, a pesar de que el archivo se reproduce bien en mi Mac, no puedo reproducirlo en mi TV que reconoce AAC pero no HE-AAC . Cualquier solución utilizando ffmpeg? Tenga en cuenta que no estoy interesado en instalar otra aplicación de codificación / transcodificación para este trabajo. Solo quiero usar ffmpeg, así que no sugiera que instale nada más.

    
pregunta TheLearner 15.05.2014 - 08:08

2 respuestas

2

El problema es tu ffmpeg. Si decirle a ffmpeg que use aac hace que se codifique en heaac, si eso es cierto, entonces hay un problema con su ffmpeg, porque especificar aac nunca debe resultar en aac. Solo decirle a ffmpeg que codifique usando libaacplus o libfdk_aac debería resultar en codificaciones aac.

Aquí hay una idea ... construye tu propio ffmpeg desde la fuente, porque tu binario se construyó mal (si lo que dices es cierto).

Puede descargar la fuente ffmpeg y compilarla manualmente:

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

Pero es mucho más fácil de instalar mediante la administración de paquetes, como macports:

MacPorts requiere una versión apropiada de xcode; xcode_5.1.1.dmg es la versión más reciente para Mavericks (después de registerring para una cuenta de desarrollador gratuita, y

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

Descarga y construye macports:

Guía de 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 /

agrega macports a tu $ PATH:

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

construye tu ffmpeg

 sudo port -vsc install ffmpeg

puedes mantener todo actualizado simplemente con:

 sudo port -vsc selfupdate
 sudo port -vsc upgrade installed

Si no está satisfecho y / o necesita eliminar MacPorts:

 sudo port -dfp uninstall --follow-dependencies installed
 sudo port -dfp uninstall all
 sudo rm -rf /opt/local  
 sudo rm -rf /Library/Tcl/macports*
    
respondido por el chillin 15.05.2014 - 08:26
1

La Guía de codificación AAC ffmpeg wiki page debería ayudar.

Esta pregunta de superusuario también puede ayudar, ¿Cómo usar ffmpeg para mezclar 5.1 DTS HD MA o Dolby TrueHD a AAC estéreo con Dolby Pro Logic II?

La guía menciona que varios formatos de codificación AAC son compatibles, pero pueden requerir que la compilación personalizada esté presente:

  

FFmpeg puede admitir cuatro codificadores AAC-LC (aac, libfaac, libfdk_aac, libvo_aacenc) y dos codificadores AAC-HE (libaacplus y libfdk_aac). Las licencias de libaacplus, libfaac y libfdk_aac no son compatibles con la GPL, por lo que la GPL no permite la distribución de archivos binarios que contengan códigos con licencia bajo estas licencias cuando también se incluye el código con licencia GPL. Por lo tanto, estos codificadores han sido designados como "no libres", y no puede descargar un ffmpeg pre-construido que los soporte. Esto se puede resolver compilando ffmpeg usted mismo.

Hay algunas guías para crear u obtener compilaciones más capaces de ffmpeg en su Mac, por ejemplo Instale FFMPEG en una Mac . Como se menciona en el artículo, creo que brew es la forma más fácil de instalar tales herramientas.

    
respondido por el Graham Miln 15.05.2014 - 08:26

Lea otras preguntas en las etiquetas