backend/main.pypython · @kibot
20/9/2026, 16:53:51from 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}