
Je m'appelle Lida Perovskaya, je travaille chez Yandex et depuis 2015, j'aide à organiser la diffusion en direct du Concours international de programmation collégiale. ICPC, le championnat du monde de programmation étudiante, a lieu chaque année depuis les années 1970. C'est presque la seule olympiade de ce niveau, qui se développe grâce aux efforts de centaines de bénévoles du monde entier. Aujourd'hui, je vais dire aux lecteurs de Habr comment mon travail sur l'ICPC de l'intérieur est organisé. Et je vous invite à regarder la
diffusion de l'événement et à vous essayer à résoudre les problèmes simultanément avec les participants.
Pour nous bénévoles, il est important que l'événement soit intéressant et utile pour les participants et les spectateurs. Mais ce n'est pas facile. 135 équipes de 110 pays ont été annoncées pour la seule finale, chaque équipe compte trois personnes, et toutes participent simultanément! Qui, quand et comment diffuser? Quel code afficher? Comment commenter pour le rendre utile?
Commençons par les conditions du problème.
Ainsi, dans une immense salle, plusieurs centaines de personnes écrivent du code localement et l'envoient au serveur pour vérification, dont le résultat détermine leur position dans la table finale. Tout est familier à tout concurrent ici. Et dans notre siège social - le studio du réalisateur - seuls cinq ou six bénévoles déterminent ce que les téléspectateurs de l'émission verront en ce moment.
Ce ne sont pas les algorithmes ni même les universités qui participent à l'Olympiade, mais les gens. La finale est leur point culminant. Selon les règles de l'Olympiade, une même personne ne peut pas participer aux finales plus de deux fois. Il est donc important de montrer d'abord aux gens: leurs émotions, leur travail d'équipe. Pour ce faire, les caméras fixes AXIS V5915 suspendent les participants.

Vous pouvez pointer la caméra vers l'une ou l'autre équipe. Avant, nous devions contrôler les caméras manuellement. Cette année, nous avons écrit un logiciel qui connaît les coordonnées de chaque équipe et peut le «visiter» automatiquement si l'équipe a fait quelque chose d'intéressant. Les robots prennent notre travail.
Mais les caméras fixes ne peuvent pas couvrir tout ce dont nous avons besoin. Le groupe mobile aide: trois à quatre personnes prêtes à tout moment à approcher les participants. Ce type de prise de vue semble plus naturel.
Des équipements pour les groupes mobiles sont également en cours de préparation par des bénévoles. Nous utilisons ce qui est déjà sur le marché, le combinons et le finissons nous-mêmes. Notre kit mobile cette année ressemble à ceci:

En 2015, nous avons reçu l'image «du site» de caméras vidéo professionnelles ordinaires connectées via un câble que nous devions tirer. Plus tard, est passé au sans fil. Et cette année, nous avons changé les caméras GoPro en version gyrostabilisée, de sorte que l'image même d'une installation aussi compacte semble fluide et professionnelle.
À la vidéo «en direct», nous ajoutons des interviews avec des équipes. Les interviews sont enregistrées à l'avance et mélangées à la diffusion selon un calendrier, qui active automatiquement la vidéo via un plug-in maison pour OBS. L'horaire pendant la diffusion peut changer.
La vidéo est devenue un peu plus claire. Mais nous avons un concours de programmation, ce qui signifie que nous devons montrer les tâches et le code que les participants écrivent. Et pour que ce soit intéressant.
Côté technique, tout est simple. Complexité dans l'organisation: comment décider qui et quand montrer?

Heureusement, nous avons des analystes. Une équipe spéciale suit les progrès des participants, trouve les solutions les plus intéressantes et les transmet au studio du réalisateur. Grâce aux sauvegardes régulières, les analystes voient tout le code: déjà envoyé pour vérification, et pas encore envoyé. De plus, ils sont capables de «prédire» les événements les plus intéressants. Par exemple, si la décision d’une équipe peut en faire un leader, cela vaut la peine de transmettre un signal aux responsables de la vidéo afin de ne pas manquer les émotions des participants lorsque les résultats apparaissent. Un petit changement dans le code a permis à l'équipe de corriger l'erreur et de terminer la tâche avec succès? Urgent dans la chambre! Les opposants se battent pour la victoire et le projet de loi dure des secondes? Nous montrerons leur confrontation en gros plan pour voir ce qu'ils font. Tout cela rend la diffusion plus dynamique et intéressante.
Et les analystes aident également à l'analyse des tâches.

N'oubliez pas les commentateurs. Sans eux, la diffusion en direct n'est pas si intéressante et il est difficile pour les téléspectateurs de comprendre ce qui se passe. Nous avons dix commentateurs dans l'équipe: deux personnes chacune dans les versions russe, anglaise, chinoise, portugaise et arabe. Ils reçoivent des informations en temps réel des analystes afin d'attirer l'attention des téléspectateurs sur des événements intéressants.
Le contenu d'un groupe mobile, d'analystes, de commentateurs et d'autres sources circule dans le studio du réalisateur, où nous gérons la diffusion «à la volée». C'est difficile, mais incroyablement intéressant.

Cette année, nous
diffuserons ICPC dans Yandex.Air, sur YouTube et Twitch, sur VKontakte et sur d'autres sites. Qu'aimeriez-vous voir dans l'émission? Selon vous, qui serait le commentateur idéal pour un concours de programmation?
Soit dit en passant, nous rappelons que tout téléspectateur peut participer de manière informelle à l'Olympiade. Toutes les tâches seront disponibles sur le site officiel icpc.global. Envoyez les solutions au serveur pour vérification, et vous dépasserez peut-être les finalistes de l'ICPC-2019.
Ce sera intéressant, bravo pour le nôtre!