
私の名前はリダ・ペロフスカヤで、私はヤンデックスで働いています。2015年以来、私は国際大学プログラミングコンテストの生放送の開催を手伝っています。 学生プログラミングの世界選手権であるICPCは、1970年代から毎年開催されています。 これは、このレベルのほとんど唯一のオリンピックであり、世界中の何百人ものボランティアの努力のおかげで発展しています。 今日、Habrの読者に、内部からのICPCに関する私の仕事がどのようにアレンジされているかを伝えます。 そして、イベントの放送を見て、参加者と同時に問題を解決するためにあなた自身の手を試してみてください。
私たちのボランティアにとって、イベントは参加者と観客の両方にとって興味深いものであることが重要です。 しかし、これを行うのは簡単ではありません。 110か国から135チームが決勝だけで発表され、各チームには3人が参加し、全員が同時に参加しました! 誰、いつ、どのように放送しますか? 表示するコード コメントする方法を教えてください。
問題の状態から始めましょう。
そのため、巨大なホールで数百人がコードをローカルに記述し、検証のためにサーバーに送信します。その結果、ファイナルテーブルでの位置が決まります。 ここでは、すべての出場者になじみがあります。 そして、私たちの本部-ディレクターズスタジオ-では、5人か6人のボランティアだけが、放送の視聴者に今何を見せるかを決定します。
オリンピアードに参加するのはアルゴリズムではなく、大学ですらなく、人々です。 フィナーレは彼らの最高点です。 オリンピアードの規則によると、同じ人が2回以上決勝に行くことはできません。 そのため、まず人々に感情、チームワークを示すことが重要です。 これを行うには、AXIS V5915固定カメラが参加者の上にぶら下がっています。

どちらかのチームにカメラを向けることができます。 以前は手動でカメラを制御する必要がありました。 今年は、各チームの座標を認識し、チームが何か面白いことをした場合に自動的に「訪問」できるソフトウェアを作成しました。 ロボットが仕事を引き受けます。
しかし、固定カメラでは必要なすべてをカバーすることはできません。 モバイルグループは、次のことに役立ちます。参加者にいつでもアプローチする準備ができている3〜4人。 この種の撮影はより自然に見えます。
モバイルグループ向けの機器もボランティアによって準備されています。 すでに市販されているものを使用し、独自に組み合わせて仕上げます。 今年のモバイルキットは次のようになります。

2015年には、ワイヤーで接続された通常のプロフェッショナルビデオカメラから「サイトから」写真を受け取りました。 後でワイヤレスに切り替えました。 そして今年、GoProカメラをジャイロ安定化バージョンに変更しました。そのため、このようなコンパクトな設置でも、写真は滑らかでプロフェッショナルに見えます。
「ライブ」ビデオに、チームへのインタビューを追加します。 インタビューは事前に記録され、スケジュールに従って放送にミックスされます。これにより、OBS用の自家製プラグインを介してビデオが自動的にオンになります。 放送中のスケジュールは変更される場合があります。
ビデオが少し鮮明になりました。 しかし、プログラミングオリンピアードがあります。つまり、参加者が書いたタスクとコードを表示する必要があります。 それで面白かったです。
技術面では、すべてがシンプルです。 組織の複雑さ:誰をいつどのように表示するかを決定する方法は?

幸いなことに、アナリストがいます。 特別なチームが参加者の進捗状況を監視し、最も興味深いソリューションを見つけて、ディレクターのスタジオに渡します。 定期的なバックアップのおかげで、アナリストはすべてのコードを確認します。検証のためにすでに送信済みで、まだ送信されていません。 さらに、最も興味深いイベントを「予測」できます。 たとえば、チームの決定がチームをリーダーにできる場合、結果が表示されたときに参加者の感情を逃さないように、ビデオの責任者に信号を送信する価値があります。 コードの小さな変更により、チームはエラーを修正し、タスクを正常に渡すことができましたか? 部屋で緊急! 反対者は勝利のために戦っていて、法案は数秒続きますか? 彼らが何をしているかを見るために、私たちは彼らの対立をクローズアップで示します。 これにより、放送はよりダイナミックで興味深いものになります。
また、アナリストはタスクの分析を支援します。

コメンテーターを忘れないでください。 それらがなければ、生放送はそれほど面白くなく、視聴者が何が起こっているのかを理解することは困難です。 チームには10人のコメンテーターがいます。それぞれロシア語、英語、中国語、ポルトガル語、アラビア語のバージョンの2人です。 興味深いイベントに視聴者の注意を引き付けるために、アナリストからリアルタイムの情報を受け取ります。
モバイルグループ、アナリスト、コメンテーター、その他のソースからのコンテンツは、ディレクターのスタジオに流れ込み、そこで放送を「オンザフライ」で管理します。 それは難しいですが、めちゃくちゃ面白いです。

今年、ICPCをYandex.Air、YouTube、Twitch、VKontakte、およびその他のいくつかのサイトで放送します。 放送で何を見たいですか? プログラミング競技の理想的なコメンテーターは誰だと思いますか?
ところで、観客は誰でもオリンピアードに非公式に参加できることを思い出します。 すべてのタスクは、公式ウェブサイトicpc.globalで入手できます。 検証のためにソリューションをサーバーに送信すると、ICPC-2019のファイナリストを追い越すかもしれません。
おもしろいです、私たちのものを応援してください!