Este artículo fue publicado como parte del Blogatón de ciencia de datos
El nombre está inspirado en MPEG, que significa Moving Picture Expert Group. El FF significa Fast Forward. El grupo MPEG es la alianza de grupos de trabajo detrás del establecimiento de muchos de los estándares de video esenciales en la actualidad, incluido el formato MP4, con el que todos estamos familiarizados.
Resultados
- ¿Qué es FFmpeg?
- ¿Por qué la gente usa FFmpeg?
- Cómo configurar FFmpeg en Windows, Ubuntu y macOS.
- Las bibliotecas están disponibles en FFmpeg para manipulaciones de medios.
- Herramientas con las que viene FFmpeg para aplicaciones de línea de comandos.
- Uso y ejemplos para FFprobe y FFplay.
¿Por qué la gente usa FFmpeg?
A menudo se lo conoce como la navaja suiza de la transcodificación o transmisión de medios. Podemos usar FFmpeg para realizar muchas funciones. El código está escrito en lenguaje C y optimizado para un mejor rendimiento. Sus comandos son simples de ejecutar. Una vez que se familiarice con los conceptos, es muy flexible para todos los filtros y opciones que puede utilizar para satisfacer sus necesidades.
FFmpeg admite una amplia gama de códigos, formatos, dispositivos y protocolos, lo que lo convierte en una opción ideal como motor de transcodificación. A diferencia de muchos proyectos descontinuados, todavía está en desarrollo activo durante más de 20 años. Existe una gran comunidad de desarrolladores, usuarios y colaboradores que constantemente desarrollan nuevas funciones y correcciones.
FFmpeg se ha utilizado en el procesamiento central para plataformas de video como YouTube e iTunes. La mayoría de nosotros usamos un reproductor multimedia como VLC para reproducir archivos de video. VLC usa bibliotecas FFmpeg como su núcleo. Algunos editores de video y aplicaciones móviles también usan FFmpeg bajo el capó.
Configuración de FFmpeg en Windows, Ubuntu y macOS
Hay algunas cosas que debe saber antes de configurar FFmpeg. No hay una compilación oficial para ningún sistema operativo. Pero es un proyecto de código abierto, que puede obtener del código fuente de FFmpeg en Internet. Por lo tanto, puede optar por crearlo usted mismo a partir del código fuente. Puede descargar una instantánea del código fuente actual aquí o hacer un pago desde su repositorio de git y siga las instrucciones para compilarlo en su máquina. Esto puede ser un poco complejo y lento y puede requerir que comprenda y elija algunas opciones de configuración. También puede ser necesario instalar herramientas y compiladores adicionales al principio. Entonces, a menos que tenga una buena razón para construirlo usted mismo, es posible que no desee seguir esta ruta.
En su lugar, puede optar por descargar e instalar un paquete FFmpeg precompilado para su sistema operativo. Hay dos formas de configurar estos binarios precompilados. Si tiene un administrador de paquetes como APT en Ubuntu y Homebrew en macOS, es más fácil de usar ya que se encarga de descargar FFmpeg y sus dependencias.
Mantengamos las cosas lo más simples posible y elijamos la forma más sencilla de empezar. Los procedimientos a continuación muestran cómo puede realizar la configuración mediante paquetes precompilados.
Mac OS
En macOS, la forma más sencilla de instalar FFmpeg es mediante Homebrew. Asegúrese de haber instalado Homebrew en su macOS, o puede seguir este tutorial sobre cómo instalar Homebrew.
Estamos usando macOS 11.4 en este caso.
- Abra Terminal y escriba
brew — version
. Debería ver la versión de preparación impresa en la Terminal si Homebrew se instaló correctamente.
- Para macOS en arquitectura x86, use el comando
brew install ffmpeg
mientras que para M1 por favor use el comandoaarch arm64 brew install ffmpeg
.
- Una vez finalizada la instalación, puede escribir
ffmpeg -version
en Terminal. Si se imprime la versión de FFmpeg, significa que FFmpeg se instaló correctamente.
Ventanas
A diferencia de APT en Ubuntu y Homebrew en macOS, no hay un administrador de paquetes conocido en Windows, que pueda usar para instalar rápidamente FFmpeg. Para Windows, debe desactivarlo y configurarlo manualmente.
Hay 4 variantes de compilación de Windows FFmpeg disponibles que se pueden encontrar aquí:
git full
– construido a partir de una rama maestra con un gran conjunto de bibliotecas.git essentials
– construido a partir de una rama maestra con bibliotecas de uso común.release full
– construido a partir de la última rama de la versión con un gran conjunto de bibliotecas.release essentials
– construido a partir de la última rama de la versión con bibliotecas de uso común.
Usaremos FFmpeg release essentials en nuestro caso.
- Descargar los fundamentos de la versión de FFmpeg aquí.
- Extraiga los archivos a un lugar desde donde los usará en el futuro. En mi caso, los puse en mi E Drive.
- Dentro de compartimiento La carpeta contiene los ejecutables que queremos.
- Agregar compartimiento carpeta a VariableEn estadística y matemáticas, una "variable" es un símbolo que representa un valor que puede cambiar o variar. Existen diferentes tipos de variables, como las cualitativas, que describen características no numéricas, y las cuantitativas, que representan cantidades numéricas. Las variables son fundamentales en experimentos y estudios, ya que permiten analizar relaciones y patrones entre diferentes elementos, facilitando la comprensión de fenómenos complejos.... de ruta de entorno de Windows para que podamos ejecutar esta herramienta sin tener que especificar la ruta completa cada vez. Buscar Variables de entorno en la barra de búsqueda y haga clic en Variables de entorno…
- Haga clic en Sendero en Variable de usuario, hacer clic Nuevo, y pegue la ruta completa del compartimiento carpeta.
- Abierto Símbolo del sistema y tipo
ffmpeg -version
. Si ve que la versión de FFmpeg está impresa, significa que FFmpeg se instaló correctamente. También podemos comprobarffprob -version
yffplay -version
.
Bibliotecas FFmpeg
FFmpeg tiene varias bibliotecas valiosas que puede usar directamente desde el código de su aplicación. Cada biblioteca contiene diferentes funciones relacionadas con un área en particular.
Algunas de las bibliotecas famosas son:
- libavcodec: contiene todos los codificadores y decodificadores que admite FFmpeg.
- libavformat: tiene todos los muxers y demuxers para trabajar con varios formatos de contenedores.
- libavfilter: consta de muchos filtros que puede usar para modificar el audio o el video de acuerdo con los requisitos.
- libavdevice: admite varios dispositivos de entrada y salida diferentes.
- libavutil: ayuda a la programación multimedia portátil.
- libswscale: realiza operaciones de conversión de formato de píxel y espacio de color y escala de imagen altamente optimizadas.
- libswresample: realiza operaciones de remuestreo, remezcla y conversión de formato de muestra de audio altamente optimizadas.
Herramientas FFmpeg
Además de las bibliotecas que las bibliotecas pueden usar desde otras aplicaciones, el paquete FFmpeg contiene algunas herramientas por sí solo.
Algunas de las herramientas son:
- FFmpeg: motor de transcodificación principal. A menudo se invoca desde una línea de comandos u otro proceso.
- ffplay: una herramienta mínima para reproducir audio o video.
- ffprobe: inspección rápida de medios para extraer información valiosa, como cuántas transmisiones hay en los medios, la velocidad de fotogramas de un video, etc.
Ejemplos y uso de FFprobe
Uso
ffprobe [OPTIONS] [INPUT_FILE]
man ffprobe
– Consulte el manual.ffprobe -h
– Muestra ayuda incluida.-v error
– Ocultar registros a menos que haya un error.-show_format
– Muestre metadatos de video formateados usando Tag.show_streams
– Muestra todas las transmisiones en el archivo (tanto de video como de audio).-print_format
—Imprimir metadatos en un formato específico (CSV / XML / JSONJSON, o JavaScript Object Notation, es un formato ligero de intercambio de datos que es fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Se utiliza comúnmente en aplicaciones web para enviar y recibir información entre un servidor y un cliente. Su estructura se basa en pares de clave-valor, lo que lo hace versátil y ampliamente adoptado en el desarrollo de software...).-select_streams
Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.
Relacionado
Posts Relacionados:
- Proyectos de procesamiento de audio | Aprendizaje profundo de procesamiento de audio
- Datos de audio | Análisis de datos de audio / voz mediante aprendizaje profundo
- Editor de audio en línea, o cómo recortar, fusionar, aplicar efectos, etc.a archivos de audio de forma gratuita
- Inteligencia artificial en vídeo: ¿cómo están cambiando las nuevas tecnologías la producción de vídeo?