¿Cómo configuro y uso FFmpeg en Windows?

Entiendo que FFmpeg es una herramienta poderosa para la conversión de archivos de video. Veo en línea en muchos lugares a personas que sugieren soluciones u obtienen ayuda sobre cómo usarlo. El problema es que ni siquiera sé cómo configurarlo o usarlo en absoluto.

Esas publicaciones de las que estoy hablando generalmente toman la forma "Usar FFmpeg [línea de código complicada e ilegible]".

Realmente no soy un programador, pero puedo hacer algunas cosas, así que creo que puedo resolverlo, si solo tuviera un poco de orientación.

¿Cómo configuro y uso FFmpeg en Windows?

Respuestas (2)

FFmpeg es de hecho una poderosa herramienta de codificación/descodificación de video¹. Opera en la línea de comando, en lugar de usar una GUI. La línea de comando es esa ventana negra que encuentra al escribir [windows+r], luego cmden el campo emergente y presionar enter. Esto también se llama "símbolo del sistema". Una vez configurado, ingresa los comandos FFmpeg en una de estas ventanas para usarlo.

Estos son los pasos básicos para "instalarlo" y usarlo:

Instalación

  1. Descargue la última compilación de FFmpeg , cortesía de gyan.dev.
  2. Cree una carpeta en su computadora para descomprimir el archivo zip. Esta carpeta será su carpeta de "instalación". C:\Program Files\ffmpeg\yo elegí Esta es una buena idea porque lo tratará como un programa normal. Descomprima el archivo zip en esta carpeta.
  3. La carpeta ahora debería contener una cantidad de otras carpetas, incluida una titulada bindonde ffmpeg.exese guarda. Aún no hemos terminado. Hacer doble clic en ese archivo no hace nada. Recuerde, este es un programa de línea de comandos. Corre en cmd.
  4. Antes de que pueda usar ffmpeg.exein cmd, debe decirle a su computadora dónde puede encontrarlo. Debe agregar una nueva ruta del sistema. Primero, haga clic derecho en Esta PC (Windows 10) o Computadora (Windows 7) y luego haga clic en Properties > Advanced System Settings > Advanced tab > Environment Variables.
  5. En la ventana Variables de entorno, haga clic en la fila "Ruta" debajo de la columna "Variable", luego haga clic en EditarPasos para agregar una ruta del sistema a Windows
  6. La ventana "Editar variable de entorno" se ve diferente para Windows 10 y 7. En Windows 10, haga clic en Nuevo y luego pegue la ruta a la carpeta que creó anteriormente donde ffmpeg.exese guarda. Para este ejemplo, es decir, C:\Program Files\ffmpeg\bin\ Agregar nueva ruta del sistema Windows 7en Windows 7 todas las variables se enumeran en una sola cadena, separadas por un punto y coma. Simplemente vaya al final de la cadena, escriba un punto y coma ( ;) y luego pegue la ruta.Agregar nueva ruta del sistema Windows 7
  7. Haga clic en Aceptar en todas las ventanas que acabamos de abrir. Solo para estar seguro, reinicie su computadora antes de probar cualquier comando.

FFmpeg ahora está "instalado". El símbolo del sistema ahora reconocerá los comandos FFmpeg e intentará ejecutarlos. (Si aún tiene problemas con el Símbolo del sistema que no reconoce FFmpeg, intente ejecutar CMD como administrador. Alternativamente, puede usar windows powershellen lugar de cmd. Si aún no funciona, verifique dos veces para asegurarse de que se siguió cada paso hasta el final).

Métodos de instalación alternativos

No los he probado yo mismo, pero probablemente funcionen, y son fáciles de hacer. Sin embargo, puedes estropear accidentalmente cosas importantes si no tienes cuidado.

Primero, si abre cmd con privilegios de administrador, puede ejecutar setx /m PATH "C:\ffmpeg\bin;%PATH%"y cambiar C:\ffmpeg\binsu ruta a FFmpeg. Esto usa cmd para hacer todos los pasos de la interfaz gráfica de usuario enumerados anteriormente. Pan comido.

En segundo lugar, el usuario K7AAY informa que simplemente puede colocar los ejecutables FFmpeg C:\Windows\System32y ejecutarlos desde allí sin tener que definir la variable de ruta porque esa ruta ya está definida.

Actualización de FFmpeg

Para actualizar FFmpeg, simplemente vuelva a visitar la página de descarga en el paso 1 anterior y descargue el archivo zip. Descomprima los archivos y cópielos sobre los archivos antiguos en la carpeta que creó en el paso 2.

Usando FFmpeg

El uso de FFmpeg requiere que abra una ventana del símbolo del sistema y luego escriba los comandos específicos de FFmpeg. Aquí hay un comando típico de FFmpeg:

 ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3

Este comando tiene cuatro partes:

  1. ffmpeg- Este comando le dice a cmd que queremos ejecutar comandos FFmpeg. cmd primero buscará ffmpeg.exeen una de las carpetas del paso 6 en la sección de Instalación. Si lo encuentra, intentará ejecutar el comando.
  2. -i video.mp4- Este es un archivo de entrada. Vamos a trabajar en este archivo.
  3. -vn -ar 44100 -ac 1 -b:a 32k -f mp3- Estos son los "argumentos". Estos caracteres son como mini comandos que especifican exactamente lo que queremos hacer. En este caso, dice crear un archivo mp3 desde la fuente de entrada.
  • -vn- Omitir la transmisión de video
  • -ar 44100- Especifica la resolución de audio en hercios.
  • -ac 1- Canales de audio, solo 1. Esto es efectivamente "hacer mono".
  • -b:a 32k- Tasa de bits de audio, establecida en 32 kbps.
  • -f mp3- Forzar la conversión a MP3. Sin este comando, FFmpeg intenta interpretar lo que desea en función de la extensión que utiliza en el nombre del archivo de salida.
  1. audio.mp3- Este es el archivo de salida.

Como probablemente pueda adivinar, este breve comando crea un archivo de audio MP3 a partir de un archivo MP4.

Para ejecutar este comando, suponiendo que tenga un archivo MP4 para probarlo, siga estos pasos:

  1. Presiona la tecla de Windows + r.
  2. Escriba cmdy luego ingrese.
  3. Cambie la ruta a donde se encuentra el archivo en el que desea trabajar. tipo cd [path]_ Debería verse algo como cd C:\Users\name\Desktop\.
  4. Ahora escriba el comando FFmpeg con el nombre de su archivo de entrada. El comando se ejecutará con algunos comentarios. Cuando termine, cmd estará disponible para más comandos.

Esta es la forma básica de usar FFmpeg. Los comandos pueden volverse mucho más complicados, pero eso es solo porque el programa tiene mucho poder. Con la documentación de FFmpeg , puede aprender todos los comandos y crear algunos scripts muy potentes. Después de eso, puede guardar estos scripts en un archivo .bat para que solo tenga que hacer doble clic en un archivo en lugar de escribir el comando completo cada vez. Por ejemplo, esta respuesta contiene un script que creará MP3 a partir de todos los MP4 en una carpeta . Entonces estaríamos combinando el poder de FFmpeg con el poder de cmd, y ese es un buen lugar para estar cuando tienes que hacer codificación de video/audio de calidad profesional en montañas de archivos.


  1. Como punto de precisión técnica, FFmpeg en sí mismo no es un codificador o decodificador. FFmpeg es un marco multimedia que puede procesar casi todos los formatos de medios comunes y muchos poco comunes. Tiene miles de para capturar, decodificar, codificar, modificar, combinar y transmitir medios, y puede utilizar docenas de bibliotecas externas para hacer aún más. Gyan.dev proporciona una descripción sucinta .
Muchas gracias por esto. ¡Estaba atascado en el primer paso, el "entorno de ruta var"! Lo ha explicado mejor que nadie y ahora tengo una respuesta adecuada de la consulta cmd "ffmpeg -version". Creo que estoy en camino.
Los desarrolladores usan los términos "marco" y "solución" para describirlo en su sitio web.
ffmpeg es un marco y la mayoría de los codificadores y casi todos los decodificadores están integrados (en libavcodec). También es compatible con varios codificadores de terceros a través de contenedores. Esos codificadores de terceros suelen tener herramientas independientes. Pero los módulos incorporados deben usarse a través de la API de la biblioteca. No son independientes.
La respuesta proporcionada por user24601 es excelente. Sin embargo, si copia los archivos ffmpeg.exe, ffplay.exe y ffprobe.exe extraídos en C:\Windows\System32, puede omitir los pasos 4, 5 y 6, que modifican la RUTA. Esos tres archivos son pequeños y he utilizado ese método durante más de un año sin ningún problema.
Y ffmpeg, en su mayor parte, se puede usar sin esos codificadores, etc.
Para Windows, en caso de que PATH no funcione, intente reiniciar su IDE (VS en mi caso). Parece que Windows / IDE almacena en caché de vez en cuando, por lo que en mi caso ayuda a resolver el problema de "archivo no encontrado". ¡Muchas gracias al autor por este manual!

La otra respuesta da una muy buena respuesta que cubre la forma predeterminada de instalarlo, me gustaría proponer otro método que sea bueno tanto para novatos como para profesionales:

Chocolatey es un administrador de paquetes, es un poco como Microsoft Store, excepto que en realidad es útil, es gratis y se ejecuta en la línea de comandos. Con chocolatey, instalar ffmpeg y configurar el$PATHetc. correcto es tan simple como

choco install ffmpeg

Es mucho más rápido que buscar el sitio web correcto, encontrar la descarga, descomprimirla, leer la documentación de instalación, buscar en Google cómo configurarla, descargar alguna dependencia, etc., etc.

Para instalar Chocolatey, ejecuta un comando en la línea de comandos, obviamente. El sitio web le muestra cómo, pero es un asunto simple de cortar y pegar. https://chocolatey.org/

A continuación, puede ver más de 6000 paquetes gratuitos disponibles con choco list <search term here>. Incluso hay programas que no son CLI, por lo que no es solo para los más exigentes. Hace que configurar una nueva instalación de Windows sea muy fácil: tengo una lista de software que siempre instalo y simplemente hago que Chocolatey lo haga por mí: choco install firefox ffmpeg conemu edgedeflector ditto rainmeter imagemagick…y así sucesivamente.

Como beneficio adicional, actualizar su software es tan fácil comochoco upgrade all

Gracias. Desafortunadamente, no todo es tan sencillo. Por ejemplo, estoy usando Windows 10, versión 10.0.18362 Build 18362 (la más reciente hasta la fecha) y tengo derechos de administrador. Pegar los comandos para la instalación chocolatey > Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(' chocolatey.org/install.ps1' )) Obtengo 'Set-ExecutionPolicy' no se reconoce como un comando interno o externo, un programa operable o un archivo por lotes.
¿Está ejecutando eso en una sesión de PowerShell o en una sesión de cmd?
¡Comando! Entonces solo funciona con powershell? Perdí esa parte. Gracias.