Notas de Luis

Esta librería sirve para cambiar el formato de vídeos con python:

import argparse
from moviepy.editor import VideoFileClip
 
parser = argparse.ArgumentParser(description="Convierte un video a formato MP4 de manera rápida.")
parser.add_argument("input", help="Nombre del archivo de entrada")
parser.add_argument("output", help="Nombre del archivo de salida")
 
args = parser.parse_args()
 
archivo_entrada = args.input
archivo_salida = args.output
 
try:
    video_clip = VideoFileClip(archivo_entrada)
    video_clip.write_videofile(archivo_salida, codec='libx264', preset='ultrafast', bitrate='10000k')
    print("Conversión completada con éxito.")
except KeyboardInterrupt:
    print("Pulsado control +C, saliendo...")
except Exception as e:
    print(f"Error al convertir el video: {e}")
finally:
    print("Script finalizado")

También podemos establecer una sentencia condicional para elegir en qué formato de vídeo queremos convertirlo, si en avi o en mp4:

import argparse
from moviepy.editor import VideoFileClip
import os
 
# Mapeo de extensiones a codecs
extension_to_codec = {
    "mp4": "libx264",
    "avi": "mpeg4",
}
 
decision = input("En qué formato quieres convertir tu vídeo (mp4, avi): ")
 
if decision not in extension_to_codec:
    print("Formato no válido. Debes elegir entre 'mp4' o 'avi'.")
else:
    parser = argparse.ArgumentParser(description="Convierte un video a formato específico de manera rápida.")
    parser.add_argument("input", help="Nombre del archivo de entrada")
 
    args = parser.parse_args()
    archivo_entrada = args.input
 
    # Obtener el nombre del archivo sin la extensión
    nombre_base = os.path.splitext(archivo_entrada)[0]
 
    try:
        codec = extension_to_codec[decision]
        archivo_salida = f"{nombre_base}.{decision}"
        video_clip = VideoFileClip(archivo_entrada)
        video_clip.write_videofile(archivo_salida, codec=codec, preset='ultrafast', bitrate='10000k')
        print(f"Conversión completada con éxito, el vídeo resultante es {archivo_salida}")
    except KeyboardInterrupt:
        print("Pulsado control + C, saliendo...")
    except Exception as e:
        print(f"Error al convertir el video: {e}")
    finally:
        print("Script finalizado")

computing/coding/python/librerias/libreria_moviepy.txt · Última modificación: por 127.0.0.1