2 votos

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

Tengo un Automator script que utiliza ffmpeg para volver a encapsular un archivo de vídeo en un mp4 con el audio transcodificado a aac dejando el vídeo 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 vídeo resultante se reproduce bien en mi sistema tanto en iTunes como en Quick Time Pro; lo he probado con archivos de origen avi y mov. Sin embargo, acabo de notar que los archivos resultantes tienen su audio codificado a MPEG-4 HE AAC en lugar de AAC como estaba previsto. Como resultado, aunque el archivo se reproduce bien en mi Mac, no puedo reproducirlo en mi televisor que reconoce AAC pero no HE-AAC . ¿Alguna solución utilizando ffmpeg? Tenga en cuenta que estoy no interesado en instalar otra aplicación de codificación/transcodificación para este trabajo. Sólo quiero usar ffmpeg así que por favor no sugerir la instalación de cualquier otra cosa.

2voto

chillin Puntos 1997

El problema es tu ffmpeg. Si le dices a ffmpeg que use aac y codifica en he aac, entonces hay algo mal en tu ffmpeg, porque especificar aac nunca debería resultar en he aac. Sólo diciendo a ffmpeg que codifique usando libaacplus o libfdk_aac debería resultar en codificaciones he aac.


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

Puede descargar el código fuente de ffmpeg y compilarlo manualmente:

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

Pero es mucho más fácil instalarlo utilizando la gestión de paquetes, como macports:

MacPorts requiere una versión adecuada de xcode; xcode_5.1.1.dmg es la versión más reciente para Mavericks (después de registro para obtener una cuenta de desarrollador gratuita, y Inicio de sesión a developer.apple.com, ese enlace iniciará la descarga de xcode). Una vez completada la descarga, abre tu Terminal.app y completa la instalación:

 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 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 /

añade 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 mantenerlo todo actualizado de forma sencilla con:

 sudo port -vsc selfupdate
 sudo port -vsc upgrade installed

Si no estás satisfecho y/o necesitas 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*

1voto

Steve Evans Puntos 155

En Guía de codificación AAC ffmpeg página wiki para debería ayudar.

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

La guía menciona que se admiten múltiples formatos de codificación AAC, pero que pueden requerir una compilación personalizada para estar presentes:

FFmpeg admite 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 esta no permite la distribución de binarios que contengan código licenciado bajo estas licencias cuando también se incluya código con licencia GPL. Por lo tanto, estos codificadores han sido designados como "no libres", y no se puede descargar un ffmpeg preconstruido que los soporte. Esto puede resolverse compilando ffmpeg usted mismo.

Hay algunas guías para construir o conseguir construcciones más capaces de ffmpeg en su Mac, por ejemplo Instalar FFMPEG en un Mac . Como se menciona en el artículo, me parece cerveza la forma más fácil de instalar este tipo de herramientas.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X