Portfolio
Caso · Datos para entrenar IA

Sincronización y control de calidad multicámara para un dataset de video en primera persona.

Trabajo por contrato para Prolific: convertir el material crudo de cámaras puestas en el cuerpo en escenas sincronizadas, revisadas y documentadas, listas para entrenar modelos de IA.

Cliente
Prolific (Londres), vía Upwork
Período
Ago – sep 2026 · ~164 horas
Volumen
100+ escenas · de 2 a 6 cámaras cada una
Cámaras
Insta360 GO · DJI Osmo · GoPro

En esta página no hay material del cliente: las escenas son casas reales con personas reales. Todas las imágenes son diagramas que dibujé yo.

/ El trabajo

Casas reales, cámaras puestas en personas, un solo dataset.

Las personas llevaban cámaras en la cabeza o en el cuerpo, o en la mano, mientras hacían cosas cotidianas en su casa: cocinar, limpiar, jugar juegos de mesa y de cartas. Cada escena tenía de 2 a 6 cámaras grabando a la vez, con un aplauso al principio y otro al final para sincronizarlas.

Mi parte era todo lo que pasa entre el material crudo y una escena aceptada: sincronizar, recortar, controlar la calidad, revisar los criterios de aceptación, armar un mosaico con todas las cámaras y un informe por escena. Empezó con una escena de prueba y siguió como contrato por hora, renovado tanda tras tanda durante agosto y septiembre.

/ Lo difícil

La misma escena, cámaras muy distintas.

01

Equipos mezclados

Distintas marcas de cámara, a veces en la misma escena. Cuadros por segundo como 50 junto a 59,94 o 25 fps, 1080p junto a 1440p, H.264 junto a HEVC.

02

Relojes que se desfasan

El reloj de cada cámara corre a su propio ritmo. Medí hasta 55 ppm entre equipos: unos 80 ms en 25 minutos. Una toma puede arrancar sincronizada y terminar fuera de tolerancia.

03

Aplausos que faltan o no se oyen

Algunas sesiones no tenían aplauso de sincronía, o lo tenían en una sola cámara. En una cocina hay muchos ruidos más fuertes que un aplauso.

04

Metadatos poco confiables

Algunas cámaras guardaban una marca de rotación que acostaba una imagen que estaba derecha, y muchas tenían el reloj sin configurar (fechas de 1970).

05

Reglas de aceptación estrictas

Mínimo 1080p y 24 fps, cero posproducción (ni cortes, ni color, ni estabilización, ni retoque de audio, ni desenfoques), sin datos personales a la vista y nadie fuera de la lista de consentimiento.

/ Sincronía

Encontrar el mismo instante en todas las cámaras.

Cada cámara empieza a grabar en un momento distinto. El aplauso es la marca en común: cuando queda alineado en todas las pistas, toda la toma queda alineada, al menos al principio.

CRUDO · CADA CÁMARA ARRANCA POR SU CUENTACÁM 1CÁM 2CÁM 3SINCRONIZADO · ALINEADO EN EL APLAUSOCÁM 1CÁM 2CÁM 3aplauso
Ilustración · no es audio del cliente
tolerancia de 33 ms0510152025minutos de la toma04080error, mssolo desplazar · ~80 msconformado
Ilustración basada en una deriva medida de 55 ppm
/ Deriva

Sincronizado al principio no quiere decir sincronizado al final.

Los relojes se desfasan. Con un desplazamiento fijo, el error crece hasta salirse de la tolerancia. Compararlo con el aplauso final lo deja a la vista; conformar los tiempos, y no solo desplazar el archivo, mantiene toda la toma adentro.

/ Cómo lo trabajé

Seis pasos por escena.

  1. 01

    Sincronizar por el aplauso

    Primero un desfase aproximado con toda la pista de audio, y después un ajuste fino sobre sonidos secos que escuchan todas las cámaras: el aplauso, golpes, puertas. El sonido llega a cada micrófono en un momento distinto (3,4 m de distancia ya son 10 ms), así que promedio muchos eventos en vez de confiar en uno solo. Tolerancia: 33 ms. Desfase residual típico en el peor punto de cada escena: de 0,4 a 20 ms.

  2. 02

    Verificar con el aplauso final y corregir la deriva

    Si el tiempo entre el primer y el último aplauso no coincide entre cámaras, los relojes se desfasaron. Ahí no alcanza con desplazar: conformo los tiempos (marcas de tiempo reescaladas, mismos cuadros, imagen intacta) y vuelvo a medir. En una escena, el error al final de la toma bajó de 41 ms a 6,8 ms.

  3. 03

    Recortar con entrada y salida idénticas, sin recomprimir

    Todas las cámaras cortadas en el mismo inicio y con la misma duración exacta. El video se copia, no se recomprime; solo se recodifican los pocos cuadros previos al siguiente fotograma clave (en general, de 0 a 5 por archivo). El audio se copia del original.

  4. 04

    Control técnico sobre los archivos finales

    Resolución, cuadros por segundo, audio, desenfoque por movimiento y una decodificación completa, medidos sobre el corte entregado y no sobre el original. Si un número va en el informe, se midió en ese archivo.

  5. 05

    Revisión humana para lo que requiere criterio

    Datos personales en pantalla, personas fuera de la lista de consentimiento, llamadas telefónicas y los umbrales de actividad (manos sobre objetos, desplazamiento, conversación entre dos personas). Cuando el problema venía del original, como una marca de rotación errónea, lo entregué fiel y lo avisé en vez de “arreglarlo”.

  6. 06

    Mosaico, entrega e informe por escena

    Una grilla sincronizada con todas las cámaras, con la misma duración, más un informe breve: desfases, residuos medidos, avisos e idioma hablado (detectado con Whisper). Subido a Google Drive y verificado contra la copia local.

Lo medible (desfases, deriva, resolución, cuadros por segundo, desenfoque) se controló con scripts propios en Python y ffmpeg. Lo que requiere criterio lo revisé a ojo, escena por escena.

/ Entrega

Una grilla, un mismo código de tiempo.

Cada escena se entregó con archivos de cámara de idéntica duración y un mosaico con todos, para que quien revisa vea de un vistazo que todas las vistas muestran el mismo momento. La grilla se adapta a la cantidad de cámaras y a su orientación.

CÁM 112:04:17CÁM 212:04:17CÁM 312:04:17CÁM 412:04:174 cámaras · mismo código de tiempo2 cámaras3 cámaras
Esquema · los bloques grises representan la vista de cada cámara
/ Resultado

Una escena de prueba y después, tanda tras tanda.

/ Herramientas
ffmpegffprobePythonNumPyWhisperrcloneGoogle Drive
/ Otros trabajos

Más proyectos.

Nicolás Barrilis
/ Sobre mí

Nicolás Barrilis

Editor de video y motion designer de Santa Fe, Argentina. Hace más de 8 años que trabajo con marcas de Latinoamérica y del exterior en video, marketing, automatización e IA. Desde 2026 también trabajo con datos de video para entrenar IA.