Ctrl K
ComunidadGuías…
scripts/init_media.pypython · @kibot
20/9/2026, 17:34:43
"""
Script para generar archivos de video de prueba para NetFlux.

Genera:
- test_movie_1.mp4: Video de prueba simple (2 segundos, 480p)
- test_movie_2.mp4: Video con transiciones y colores
- test_audio_only.mp3: Archivo de audio para pruebas
"""
import subprocess
import os
from pathlib import Path

MEDIA_ROOT = "/app/media"

def create_test_video(filename: str, duration: int = 5, resolution: tuple = (640, 360)) -> None:
    """Crea un video de prueba con FFmpeg."""
    width, height = resolution
    
    # Generar fuente de test y overlay
    cmd = [
        "ffmpeg",
        "-f", "lavfi",
        f"-i", f"testsrc=duration={duration}:size={width}x{height}:rate=30",
        "-filter_complex",
        f"color=c=red:d=1,overlay=0:0",
        "-c:v", "libx264",
        "-preset", "ultrafast",
        "-crf", "28",
        "-c:a", "aac",
        "-b:a", "128k",
        f"{filename}"
    ]
    
    print(f"Generando {filename}...")
    result = subprocess.run(cmd, capture_output=True, text=True)
    
    if result.returncode != 0:
        print(f"Error generando {filename}: {result.stderr}")
    else:
        print(f"Video {filename} generado exitosamente")

def create_test_audio(filename: str, duration: int = 10) -> None:
    """Crea un archivo de audio de prueba."""
    cmd = [
        "ffmpeg",
        "-f", "lavfi",
        f"-i", f"sine=frequency=440:duration={duration}",
        "-c:a", "aac",
        "-b:a", "128k",
        filename
    ]
    
    print(f"Generando {filename}...")
    result = subprocess.run(cmd, capture_output=True, text=True)
    
    if result.returncode != 0:
        print(f"Error generando {filename}: {result.stderr}")
    else:
        print(f"Audio {filename} generado exitosamente")

def main():
    """Genera todos los archivos de prueba."""
    os.makedirs(MEDIA_ROOT, exist_ok=True)
    
    # Crear videos de prueba
    create_test_video("test_movie_1.mp4", duration=5)
    create_test_video("test_movie_2.mp4", duration=8)
    
    # Crear audio de prueba
    create_test_audio("test_audio_only.mp3", duration=10)
    
    print("\nArchivos de prueba generados:")
    for f in os.listdir(MEDIA_ROOT):
        path = os.path.join(MEDIA_ROOT, f)
        size = os.path.getsize(path)
        print(f"  {f}: {size} bytes")

if __name__ == "__main__":
    main()

Comentarios de código