
Mi nombre es Lida Perovskaya, trabajo en Yandex, y desde 2015 he estado ayudando a organizar la transmisión en vivo del Concurso Internacional de Programación Colegiada. ICPC, el campeonato mundial de programación estudiantil, se celebra anualmente desde la década de 1970. Esta es casi la única olimpiada de este nivel, que se está desarrollando gracias a los esfuerzos de cientos de voluntarios de todo el mundo. Hoy les diré a los lectores de Habr cómo está organizado mi trabajo en ICPC desde adentro. Y los invito a ver la
transmisión del evento e intentar resolver sus problemas simultáneamente con los participantes.
Para nosotros los voluntarios, es importante que el evento sea interesante y útil tanto para los participantes como para los espectadores. Pero hacer esto no es fácil. Se anunciaron 135 equipos de 110 países solo para la final, cada equipo tiene tres personas, ¡y todos participan simultáneamente! ¿A quién, cuándo y cómo transmitir? ¿Qué código mostrar? ¿Cómo comentar para que sea útil?
Comencemos con las condiciones del problema.
Entonces, en una sala enorme, varios cientos de personas escriben código localmente y lo envían al servidor para su verificación, cuyo resultado determina su posición en la tabla final. Todo es familiar para cualquier concursante aquí. Y en nuestra sede, el estudio del director, solo cinco o seis voluntarios determinan lo que los televidentes de la transmisión verán en este momento.
No son los algoritmos ni las universidades los que participan en la Olimpiada, sino las personas. El final es su punto culminante. De acuerdo con las reglas de la Olimpiada, una misma persona no puede ir a la final más de dos veces. Por lo tanto, es importante mostrar a las personas en primer lugar: sus emociones, el trabajo en equipo. Para hacer esto, las cámaras estacionarias AXIS V5915 están suspendidas sobre los participantes.

Puede apuntar la cámara a uno u otro equipo. Solíamos tener que controlar las cámaras manualmente. Este año, escribimos un software que conoce las coordenadas de cada equipo y puede "visitarlo" automáticamente si el equipo hizo algo interesante. Los robots toman nuestros trabajos.
Pero las cámaras fijas no pueden cubrir todo lo que necesitamos. El grupo móvil ayuda: de tres a cuatro personas que están listas en cualquier momento para acercarse a los participantes. Este tipo de disparos se ve más natural.
El equipo para grupos móviles también está siendo preparado por voluntarios. Usamos lo que ya está en el mercado, lo combinamos y lo terminamos por nuestra cuenta. Nuestro kit móvil de este año se ve así:

En 2015, recibimos la imagen "del sitio" de cámaras de video profesionales comunes conectadas a través de un cable que tuvimos que arrastrar. Más tarde se cambió a inalámbrico. Y este año cambiamos las cámaras GoPro a la versión giroestabilizada, por lo que la imagen, incluso desde una instalación tan compacta, se ve suave y profesional.
Al video "en vivo" agregamos entrevistas con equipos. Las entrevistas se graban por adelantado y se mezclan en la transmisión de acuerdo con un cronograma, que activa automáticamente el video a través de un complemento casero para OBS. El horario durante la transmisión puede cambiar.
El video se ha vuelto un poco más claro. Pero tenemos una competencia de programación, lo que significa que debemos mostrar las tareas y el código que escriben los participantes. Y para que fuera interesante.
Desde el punto de vista técnico, todo es simple. Complejidad en la organización: ¿cómo decidir a quién y cuándo mostrar?

Afortunadamente, tenemos analistas. Un equipo especial monitorea el progreso de los participantes, encuentra las soluciones más interesantes y las pasa al estudio del director. Gracias a las copias de seguridad periódicas, los analistas ven todo el código: ya se envió para verificación y aún no se ha enviado. Además, pueden "predecir" los eventos más interesantes. Por ejemplo, si la decisión de un equipo puede convertirlo en un líder, vale la pena transmitir una señal a los responsables del video para no perder las emociones de los participantes cuando aparezcan los resultados. ¿Un pequeño cambio en el código permitió al equipo corregir el error y completar con éxito la tarea? Urgente en la habitación! ¿Los opositores están luchando por la victoria y la cuenta va por segundos? Mostraremos su confrontación en primer plano para ver qué están haciendo. Todo esto hace que la transmisión sea más dinámica e interesante.
Y también los analistas ayudan con el análisis de tareas.

No te olvides de los comentaristas. Sin ellos, la transmisión en vivo no es tan interesante y es difícil para los espectadores entender lo que está sucediendo. Tenemos diez comentaristas en el equipo: dos personas cada una en las versiones en ruso, inglés, chino, portugués y árabe. Reciben información en tiempo real de analistas para atraer la atención de los espectadores a eventos interesantes.
El contenido de un grupo móvil, analistas, comentaristas y otras fuentes fluye al estudio del director, donde gestionamos la transmisión "sobre la marcha". Es difícil, pero increíblemente interesante.

Este año
transmitiremos ICPC en Yandex.Air, en YouTube y Twitch, en VKontakte y en otros sitios. ¿Qué te gustaría ver en la transmisión? ¿Quién crees que sería el comentarista ideal para una competencia de programación?
Por cierto, recordamos que cualquier espectador puede participar informalmente en la Olimpiada. Todas las tareas estarán disponibles en el sitio web oficial icpc.global. Envíe las soluciones al servidor para su verificación, y tal vez superará a los finalistas de ICPC-2019.
Será interesante, ¡anima a los nuestros!