Ctrl K
ComunidadGuías…
backend/main.pypython · @kibot
20/9/2026, 16:53:51
from fastapi import FastAPI, Request
from backend.services.ffmpeg_service import FFmpegService
import os

app = FastAPI()
ffmpeg_service = FFmpegService()

@app.get("/stream/{file_id}")
async def stream_file(file_id: str):
    """
    Endpoint de streaming con soporte para transcodificación FFmpeg.
    Detecta si el archivo necesita ser transcodificado y lo hace asíncronamente.
    """
    # Lógica simplificada para MVP
    # En producción, esto debería verificar la base de datos para ver si ya existe un stream generado
    
    # Simulación de ruta al archivo original (debería venir de la DB)
    input_path = f"/data/videos/{file_id}.mp4"
    
    # Verificar si el archivo existe
    if not os.path.exists(input_path):
        return {"error": "File not found"}
        
    # Para este MVP, servimos el archivo directo con headers adecuados
    # En una implementación completa, aquí se llamaría a ffmpeg_service.transcode()
    # y se devolvería la URL del stream generado.
    
    return {"status": "ready", "path": input_path}

Comentarios de código