En esta página

Crear FFmpeg desde el código fuente en macOS

Esta página explica cómo configurar y compilar FFmpeg en macOS. Los pasos necesarios son:

  • Obtener el código fuente de FFmpeg.
  • Instalar las dependencias necesarias.
  • Configurar FFmpeg desde la línea de comandos.
  • Construir las librerías de desarrollo.

Obtener el código fuente de FFmpeg

Puedes obtener el código fuente de FFmpeg de las siguientes maneras:

  • Descarga desde la página de descargas de FFmpeg.
  • Clonar desde git. Por ejemplo, este comando clona la versión 7.1.3 de las fuentes de FFmpeg a ~/ffmpeg.
    git clone --branch n7.1.3 https://git.ffmpeg.org/ffmpeg.git ffmpeg

Se recomienda utilizar la misma versión de FFmpeg que la documentada en la página principalQt Multimedia .

En los párrafos siguientes se asume que almacenas el código fuente de FFmpeg en ~/ffmpeg.

Requisitos previos

Para compilar FFmpeg, se necesitan estas herramientas y paquetes:

Instalación de Homebrew

Para instalar Homebrew, ejecuta:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Instalar paquetes Homebrew

Para instalar el paquete Homebrew Yasm, ejecute:

brew install yasm

Configurar y construir FFmpeg

Crea un directorio build dentro del directorio ~/ffmpeg y navega hasta él:

mkdir ~/ffmpeg/build
cd ~/ffmpeg/build

Para configurar FFmpeg, ejecuta

../configure --prefix=/usr/local/ffmpeg --disable-doc --enable-network --enable-shared

El argumento --prefix especifica una ruta donde se instalan las librerías de desarrollo de FFmpeg después de la compilación. La documentación no es necesaria, pero las funciones de red deben estar habilitadas. Para construir FFmpeg como bibliotecas estáticas, omite la opción --enable-shared.

En el fragmento de código anterior, se utilizó intencionadamente una ruta absoluta para el argumento --prefix. Si especifica una ruta relativa (por ejemplo, ../install), las dependencias serán referenciadas usando esta ruta relativa y no la correcta usando @rpath. Usar rutas absolutas hace que una compilación de FFmpeg no sea portable. Para usar rutas relativas y hacer portable la compilación de FFmpeg, necesitas arreglar manualmente las dependencias usando otool.

Una vez que el comando configure termine, construye e instala FFmpeg usando el comando make.

make -j install

Si la compilación se completa sin errores, las bibliotecas de desarrollo de FFmpeg se instalan en el directorio /usr/local/ffmpeg. Si construyes Qt Multimedia, esta ruta se almacena en la variable FFMPEG_DIR utilizada al configurar Qt Multimedia.

Configuración y creación de los binarios universales de FFmpeg

Para crear binarios universales en macOS (por ejemplo, para arquitecturas x86_64 y arm64), siga estos pasos:

  • Configura y compila FFmpeg para la arquitectura arm64:
    ../configure --prefix=/usr/local/ffmpeg/arm64 --disable-doc --enable-network \
        --enable-shared --enable-cross-compile --arch=arm64 --cc="clang -arch arm64"
    make -j install
  • Configura y compila FFmpeg para la arquitectura x86_64:
    ../configure --prefix=/usr/local/ffmpeg/x86_64 --disable-doc --enable-network \
        --enable-shared --enable-cross-compile --arch=x86_64 --cc="clang -arch x86_64"
    make -j install
  • Combina las compilaciones en un binario universal utilizando lipo.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.