FFmpeg en script Python

Rohan Timalsina 15 febrero 2024
  1. Instale el paquete Python de FFmpeg
  2. Use FFmpeg para recortar un video en Python
  3. Use FFmpeg para obtener el ancho y alto de un video en Python
  4. Use FFmpeg para guardar la miniatura de un video en Python
  5. Use FFmpeg para voltear un video en Python
FFmpeg en script Python

FFmpeg es la abreviatura de Fast Forward Moving Picture Experts Group. Es un proyecto de código abierto que proporciona herramientas como ffmpeg, ffplay y ffprobe para manejar archivos multimedia.

FFmpeg es una utilidad de línea de comandos que ayuda a convertir el formato de video/audio, comprimir un video, extraer audio de un video, crear un GIF, cortar un video y más.

Este tutorial le enseñará a usar los comandos FFMPEG en Python.

Instale el paquete Python de FFmpeg

Primero, debe instalar FFmpeg en su sistema. Abra el símbolo del sistema como administrador y ejecute el siguiente comando para instalar FFmpeg usando choco.

choco install ffmpeg

A continuación, instale el paquete ffmpeg-python utilizando la herramienta pip del administrador de paquetes de Python.

Ejecute el siguiente comando en el indicador para instalar el paquete con pip.

pip install ffmpeg-python

Producción :

Successfully built ffmpeg
Installing collected packages: ffmpeg
Successfully installed ffmpeg-1.4

Use FFmpeg para recortar un video en Python

Como ya hemos configurado FFmpeg en nuestro sistema, usemos algunos comandos de FFmpeg para trabajar con videos en Python.

El siguiente ejemplo corta el video Pencil.mp4 de 5s a 10s y lo guarda como output.mp4.

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = video.trim(start=5, duration=5)
video = ffmpeg.output(video, "output.mp4")
ffmpeg.run(video)

Use FFmpeg para obtener el ancho y alto de un video en Python

El siguiente ejemplo imprime el ancho y alto de un video específico en Python.

import ffmpeg

probe = ffmpeg.probe("output.mp4")
video = next(
    (stream for stream in probe["streams"] if stream["codec_type"] == "video"), None
)
width = int(video["width"])
height = int(video["height"])
print("Width:", width)
print("Height:", height)

Producción :

Width: 1280
Height: 720

Use FFmpeg para guardar la miniatura de un video en Python

También puede guardar la miniatura de un video usando FFmpeg en Python.

El siguiente ejemplo genera la miniatura de 500px de ancho desde el tiempo 4s en un video.

import ffmpeg

video = ffmpeg.input("Pencil.mp4", ss=4)
video = video.filter("scale", 500, -1)
video = ffmpeg.output(video, "output.png", vframes=1)
ffmpeg.run(video)

La altura se determina automáticamente por la relación de aspecto.

Imagen de salida:

miniatura de un video en python

Use FFmpeg para voltear un video en Python

Puede usar ffmpeg.hflip() para voltear el video horizontalmente y ffmpeg.vflip() para voltear el video verticalmente en Python.

Voltea el video horizontalmente:

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.hflip(video)
video = ffmpeg.output(video, "horizontal.mp4")
ffmpeg.run(video)

Voltea el video verticalmente:

import ffmpeg

video = ffmpeg.input("Pencil.mp4")
video = ffmpeg.vflip(video)
video = ffmpeg.output(video, "vertical.mp4")
ffmpeg.run(video)

FFmpeg es una herramienta útil para realizar diferentes operaciones en archivos multimedia. Puede recortar rápidamente el video, cambiar el formato de archivo, extraer audio, crear GIF y más.

En este punto, debería haber entendido claramente cómo usar los comandos FFmpeg en el script de Python. Esperamos que este tutorial le resulte útil.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website