Manipulación de Archivos MP4 con Python

Tutorial: Manipulación de Archivos MP4 con Python

Introducción

Los archivos MP4 son un formato de archivo multimedia ampliamente utilizado para almacenar vídeo y para transmisiones. Son un estándar internacional que funciona con una amplia gama de dispositivos. En este tutorial, aprenderemos cómo manipular archivos MP4 con Python.

Requisitos

Para seguir este tutorial, necesitarás tener Python instalado en tu computadora. También necesitarás tener instalado el módulo ffmpeg. Puedes instalarlo con el siguiente comando:

pip install ffmpeg

Lectura de un archivo MP4

Para leer un archivo MP4 con Python, podemos usar la función open(). El siguiente código abre un archivo MP4 y lo lee:

Python
import ffmpeg

with ffmpeg.input("video.mp4") as input_file:
    for frame in input_file.decode():
        print(frame)

Este código imprime cada frame del archivo MP4. Cada frame es una imagen en formato de bytes.

Escritura de un archivo MP4

Para escribir un archivo MP4 con Python, podemos usar la función output(). El siguiente código escribe un archivo MP4 a partir de una lista de frames:

Python
import ffmpeg

frames = [
    b"frame1",
    b"frame2",
    b"frame3",
]

with ffmpeg.output(frames, "video.mp4") as output_file:
    output_file.run()

Este código crea un archivo MP4 con tres frames. Los frames son especificados como una lista de bytes.

Extracción de audio de un archivo MP4

Para extraer el audio de un archivo MP4, podemos usar la función extract_audio(). El siguiente código extrae el audio de un archivo MP4 y lo guarda en un archivo WAV:

Python
import ffmpeg

with ffmpeg.input("video.mp4") as input_file:
    with ffmpeg.output(input_file.audio, "audio.wav") as output_file:
        output_file.run()

Este código crea un archivo WAV con el audio del archivo MP4.

Conclusión

En este tutorial, aprendimos cómo manipular archivos MP4 con Python. Aprendimos a leer, escribir, extraer audio y realizar otras operaciones con archivos MP4.

Código adicional

El siguiente código muestra cómo realizar algunas operaciones más avanzadas con archivos MP4:

Python
import ffmpeg

# Recortar un archivo MP4
with ffmpeg.input("video.mp4") as input_file:
    with ffmpeg.output(input_file.filter("trim=0:10", "output.mp4") as output_file:
        output_file.run()

# Convertir un archivo MP4 a otro formato
with ffmpeg.input("video.mp4") as input_file:
    with ffmpeg.output(input_file.convert("avi", "output.avi") as output_file:
        output_file.run()

# Agregar subtítulos a un archivo MP4
with ffmpeg.input("video.mp4") as input_file:
    with ffmpeg.output(input_file.add_subtitles("subtitles.srt", "output.mp4") as output_file:
        output_file.run()

Este código recorta un archivo MP4 a los primeros 10 segundos, convierte un archivo MP4 a formato AVI y agrega subtítulos a un archivo MP4.