Diagnóstico técnico: migrar streaming (AWS IVS → MediaMTX) y moderación (Rekognition → modelos open source)
Budget / Salary$250–750
TypeFreelance project
LocationRemote
Posted1 month ago
SOBRE EL PROYECTO
Plataforma de contenido para creadores con transmisiones en vivo, publicaciones, chat y moderación automática. Estamos dejando de depender de AWS y buscamos una persona o equipo que reemplace dos servicios gestionados por soluciones open source autogestionadas, preferentemente en OVHcloud:
- Streaming en vivo: AWS IVS → MediaMTX (u otro motor open source, si se justifica)
- Moderación de imágenes y video: AWS Rekognition → modelos de visión autoalojados
IMPORTANTE – PRESUPUESTO: el rango indicado (USD 250–750) corresponde SOLO al hito 1 (diagnóstico). Para los hitos 2 a 5, entrega una estimación de costo y duración por hito (pueden ser rangos).
STACK ACTUAL
Node.js, TypeScript, Next.js, React, Prisma, PostgreSQL, Docker Compose, Nginx, GitHub Actions y GHCR.
ESCALA (escenarios de diseño; la plataforma aún no tiene usuarios reales)
- Transmisiones simultáneas: 5 inicial / 20 a 12 meses / 50 en pico
- Espectadores simultáneos totales: 500 / 3.000 / 10.000 (máx. 5.000 en una sola transmisión)
- Unas 2 h de emisión diarias por transmisión (~300 a ~1.200 horas de emisión al mes)
- Moderación: 500 a 5.000 imágenes/día y 50 a 500 videos/día (habitualmente de 15 s a 3 min, máx. 10 min)
- Audiencia principalmente en Latinoamérica
- Techo de infraestructura para el escenario inicial: ~USD 400/mes, CDN incluida
PARTE 1: STREAMING (REEMPLAZO DE AWS IVS)
Ya hay una integración parcial con MediaMTX: adaptador de proveedor, emisión desde el navegador por WHIP, reproducción HLS con proxy y tokens, y scripts de migración entre IVS y MediaMTX.
Necesitamos:
- Auditar y completar esa base hasta dejarla lista para producción
- Control de acceso por stream para publicar y ver, con credenciales de vida limitada (JWT u otro mecanismo). No debe haber rutas directas que se salten la autorización
- Eventos de inicio, fin, desconexión y grabación conectados a la base de datos, con idempotencia, reintentos y conciliación
- Grabaciones: cierre del archivo, subida a almacenamiento de objetos, asociación a la sesión, reproducción posterior y retención
- Emisión desde el navegador (WHIP) y desde OBS (RTMP/RTMPS), con TURN para redes restrictivas
- Reproducción LL-HLS con 3 a 6 s de retardo y calidad adaptativa en 720p30, distribuida por CDN con presencia en Latinoamérica
- Coexistencia con IVS durante la transición, migración gradual y reversión probada
- Infraestructura como código, métricas, alertas y pruebas de carga y de fallas
Opcional (cotizar aparte): 1080p60 con calidad adaptativa para perfiles seleccionados.
PARTE 2: MODERACIÓN (REEMPLAZO DE AWS REKOGNITION)
Hoy usamos DetectModerationLabels para imágenes, StartContentModeration/GetContentModeration para videos y MediaConvert para extraer fotogramas. Se usa en publicaciones, adjuntos de chat, el panel de administración y un script de reprocesamiento.
Cada archivo produce dos decisiones independientes, con confianza por categoría:
- Contenido explícito (+18): desnudez explícita o actividad sexual. No se bloquea; se muestra solo a usuarios que activaron el contenido adulto
- Contenido dañino: violencia, gore, símbolos de odio, extremismo y autolesiones. Se marca para revisión o bloqueo
El contenido sugerente leve (traje de baño, escote, desnudez parcial) no se marca.
Necesitamos:
- Proponer y desplegar modelos open source, con licencia que permita uso comercial, para ambas decisiones (NSFW/desnudez y contenido dañino), en CPU o GPU según lo que justifiques en costo
- Un servicio de inferencia autoalojado (API interna) que mantenga el contrato actual del módulo de moderación
- Para video: extracción de fotogramas con FFmpeg y procesamiento asíncrono con cola, fuera de la petición de publicación
- Umbrales configurables por categoría. La prioridad es que no se escape contenido sin marcar; los falsos positivos son un costo menor
- Definir un conjunto de validación (hoy no existe uno etiquetado), comparar precisión y exhaustividad contra Rekognition y proponer umbrales
- Soporte de JPG, PNG, WebP, AVIF y HEIC
Opcional (cotizar aparte): moderación de transmisiones en vivo por muestreo de fotogramas.
ENTREGABLES
- Diagnóstico y arquitectura: diagrama, componentes, versiones y licencias
- Código integrado al repositorio mediante PRs, con pruebas
- Infraestructura como código y pipelines de CI/CD
- Informe de pruebas de carga, de fallas y de precisión de la moderación
- Estimación del costo mensual de infraestructura por escenario (inicial, 12 meses y pico)
- Runbooks y una sesión de traspaso de conocimiento
FORMA DE TRABAJO
Cinco hitos: 1) diagnóstico, 2) piloto, 3) endurecimiento, 4) migración gradual, 5) retiro de AWS. Cada hito se aprueba con una demostración en staging y evidencia de pruebas.
- Hito 1 (diagnóstico): precio fijo dentro del presupuesto indicado. Duración esperada: 2 a 3 semanas
- Hitos 2 a 5: estimación de costo y duración por hito, con streaming y moderación en partidas separadas. Se contratan según los resultados del diagnóstico
- Puedes proponer comenzar por streaming y seguir con moderación si justificas la secuencia
- La infraestructura se contrata a nombre de nuestra empresa. OVHcloud es la opción preferida; se acepta otro proveedor con presencia en Latinoamérica si se justifica
Tras la preselección compartiremos la especificación técnica completa bajo un acuerdo de confidencialidad (NDA).
PERFIL REQUERIDO
- Experiencia demostrable en producción con WebRTC/WHIP, RTMP y HLS/LL-HLS, FFmpeg y transcodificación
- Experiencia desplegando modelos de visión por computadora (PyTorch/ONNX) como servicio
- Buen nivel de TypeScript, Node.js y Next.js, Docker y automatización de despliegues
- Conocimiento de OVHcloud o de infraestructura bare metal/VPS
PARA POSTULAR, RESPONDE:
1. Un proyecto de streaming en vivo que hayas operado en producción: escala, motor usado y tu rol
2. ¿Qué modelos usarías para reemplazar Rekognition, tanto en desnudez como en contenido dañino, y por qué?
3. ¿Mantendrías MediaMTX o propondrías otro motor? Justifícalo brevemente
4. Precio fijo y duración del diagnóstico (hito 1), con sus entregables
5. Estimación de costo y duración de los hitos 2 a 5
Plataforma de contenido para creadores con transmisiones en vivo, publicaciones, chat y moderación automática. Estamos dejando de depender de AWS y buscamos una persona o equipo que reemplace dos servicios gestionados por soluciones open source autogestionadas, preferentemente en OVHcloud:
- Streaming en vivo: AWS IVS → MediaMTX (u otro motor open source, si se justifica)
- Moderación de imágenes y video: AWS Rekognition → modelos de visión autoalojados
IMPORTANTE – PRESUPUESTO: el rango indicado (USD 250–750) corresponde SOLO al hito 1 (diagnóstico). Para los hitos 2 a 5, entrega una estimación de costo y duración por hito (pueden ser rangos).
STACK ACTUAL
Node.js, TypeScript, Next.js, React, Prisma, PostgreSQL, Docker Compose, Nginx, GitHub Actions y GHCR.
ESCALA (escenarios de diseño; la plataforma aún no tiene usuarios reales)
- Transmisiones simultáneas: 5 inicial / 20 a 12 meses / 50 en pico
- Espectadores simultáneos totales: 500 / 3.000 / 10.000 (máx. 5.000 en una sola transmisión)
- Unas 2 h de emisión diarias por transmisión (~300 a ~1.200 horas de emisión al mes)
- Moderación: 500 a 5.000 imágenes/día y 50 a 500 videos/día (habitualmente de 15 s a 3 min, máx. 10 min)
- Audiencia principalmente en Latinoamérica
- Techo de infraestructura para el escenario inicial: ~USD 400/mes, CDN incluida
PARTE 1: STREAMING (REEMPLAZO DE AWS IVS)
Ya hay una integración parcial con MediaMTX: adaptador de proveedor, emisión desde el navegador por WHIP, reproducción HLS con proxy y tokens, y scripts de migración entre IVS y MediaMTX.
Necesitamos:
- Auditar y completar esa base hasta dejarla lista para producción
- Control de acceso por stream para publicar y ver, con credenciales de vida limitada (JWT u otro mecanismo). No debe haber rutas directas que se salten la autorización
- Eventos de inicio, fin, desconexión y grabación conectados a la base de datos, con idempotencia, reintentos y conciliación
- Grabaciones: cierre del archivo, subida a almacenamiento de objetos, asociación a la sesión, reproducción posterior y retención
- Emisión desde el navegador (WHIP) y desde OBS (RTMP/RTMPS), con TURN para redes restrictivas
- Reproducción LL-HLS con 3 a 6 s de retardo y calidad adaptativa en 720p30, distribuida por CDN con presencia en Latinoamérica
- Coexistencia con IVS durante la transición, migración gradual y reversión probada
- Infraestructura como código, métricas, alertas y pruebas de carga y de fallas
Opcional (cotizar aparte): 1080p60 con calidad adaptativa para perfiles seleccionados.
PARTE 2: MODERACIÓN (REEMPLAZO DE AWS REKOGNITION)
Hoy usamos DetectModerationLabels para imágenes, StartContentModeration/GetContentModeration para videos y MediaConvert para extraer fotogramas. Se usa en publicaciones, adjuntos de chat, el panel de administración y un script de reprocesamiento.
Cada archivo produce dos decisiones independientes, con confianza por categoría:
- Contenido explícito (+18): desnudez explícita o actividad sexual. No se bloquea; se muestra solo a usuarios que activaron el contenido adulto
- Contenido dañino: violencia, gore, símbolos de odio, extremismo y autolesiones. Se marca para revisión o bloqueo
El contenido sugerente leve (traje de baño, escote, desnudez parcial) no se marca.
Necesitamos:
- Proponer y desplegar modelos open source, con licencia que permita uso comercial, para ambas decisiones (NSFW/desnudez y contenido dañino), en CPU o GPU según lo que justifiques en costo
- Un servicio de inferencia autoalojado (API interna) que mantenga el contrato actual del módulo de moderación
- Para video: extracción de fotogramas con FFmpeg y procesamiento asíncrono con cola, fuera de la petición de publicación
- Umbrales configurables por categoría. La prioridad es que no se escape contenido sin marcar; los falsos positivos son un costo menor
- Definir un conjunto de validación (hoy no existe uno etiquetado), comparar precisión y exhaustividad contra Rekognition y proponer umbrales
- Soporte de JPG, PNG, WebP, AVIF y HEIC
Opcional (cotizar aparte): moderación de transmisiones en vivo por muestreo de fotogramas.
ENTREGABLES
- Diagnóstico y arquitectura: diagrama, componentes, versiones y licencias
- Código integrado al repositorio mediante PRs, con pruebas
- Infraestructura como código y pipelines de CI/CD
- Informe de pruebas de carga, de fallas y de precisión de la moderación
- Estimación del costo mensual de infraestructura por escenario (inicial, 12 meses y pico)
- Runbooks y una sesión de traspaso de conocimiento
FORMA DE TRABAJO
Cinco hitos: 1) diagnóstico, 2) piloto, 3) endurecimiento, 4) migración gradual, 5) retiro de AWS. Cada hito se aprueba con una demostración en staging y evidencia de pruebas.
- Hito 1 (diagnóstico): precio fijo dentro del presupuesto indicado. Duración esperada: 2 a 3 semanas
- Hitos 2 a 5: estimación de costo y duración por hito, con streaming y moderación en partidas separadas. Se contratan según los resultados del diagnóstico
- Puedes proponer comenzar por streaming y seguir con moderación si justificas la secuencia
- La infraestructura se contrata a nombre de nuestra empresa. OVHcloud es la opción preferida; se acepta otro proveedor con presencia en Latinoamérica si se justifica
Tras la preselección compartiremos la especificación técnica completa bajo un acuerdo de confidencialidad (NDA).
PERFIL REQUERIDO
- Experiencia demostrable en producción con WebRTC/WHIP, RTMP y HLS/LL-HLS, FFmpeg y transcodificación
- Experiencia desplegando modelos de visión por computadora (PyTorch/ONNX) como servicio
- Buen nivel de TypeScript, Node.js y Next.js, Docker y automatización de despliegues
- Conocimiento de OVHcloud o de infraestructura bare metal/VPS
PARA POSTULAR, RESPONDE:
1. Un proyecto de streaming en vivo que hayas operado en producción: escala, motor usado y tu rol
2. ¿Qué modelos usarías para reemplazar Rekognition, tanto en desnudez como en contenido dañino, y por qué?
3. ¿Mantendrías MediaMTX o propondrías otro motor? Justifícalo brevemente
4. Precio fijo y duración del diagnóstico (hito 1), con sus entregables
5. Estimación de costo y duración de los hitos 2 a 5
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.