У нас было 200 тысяч камер, 100 тысяч ноутбуков и два с половиной месяца на работу

История команды, которая придумала видеонаблюдение на российских выборах.

Предыстория: почему разработчики «Зомбоящика» взялись за выборы

Всё началось с компании Undev. Это скорее был стартап, в котором занимались видеопроектами, в том числе захватом спутникового и эфирного сигналов. В 2008 году это было в новинку — в те времена не существовало «Нетфликсов», и мы строили один из первых сервисов, где можно было посмотреть передачи и сериалы в записи.

Наша платформа называлась Zombobox, и она существовала на полулегальной основе. В этом смысле у нас была творческая свобода — никто не переживал о нарушении авторских прав. Сайт был бесплатным, но попасть на него можно было либо по знакомству, либо с инвайтом. Это ограничивало число пользователей: их было в районе тысячи, но они давали важную обратную связь, указывали, что могло бы работать лучше.

Стартовый экран сервиса в 2009 году — скриншот из Web Archive

Несмотря на небольшой состав — около тридцати человек, — нам удалось собрать кадровые «сливки», это была одна из сильнейших команд Ruby-разработчиков в Москве.

Когда мы наигрались и задумались о монетизации, появился проект «Телемаркер». Мы подумали, что пора использовать записанный телеэфир, и в компании появились операторы — группа людей, которые просматривали все новости и размечали их.

Любой выпуск новостей состоит из сюжетов, поэтому оператор отмечал время начала каждого, расставлял теги с темами и именами участников. Можно было быстро найти все упоминания какого-нибудь политика или узнать, про что чаще всего говорят в сегодняшних новостях.

Этим быстро заинтересовались крупные компании, медиа и думские фракции. Проект начал зарабатывать и вышел на пик своей востребованности в конце нулевых. Основная сложность была с содержанием штата операторов: нужно было два–три десятка человек, чтобы отсматривать все каналы.

Со временем фокус с новостей и конференций сдвинулся в сторону спорта. Мы размечали олимпийские трансляции из Ванкувера по интересным моментам: падения, финиши, заброшенные шайбы. Внутри красивого приложения для телевизоров можно было быстро переключаться между всеми голами в матче.

Подготовка: офис с массажистами вместо Таиланда

В 2011 году состоялись выборы в Думу, и многие остались ими недовольны — состоялись массовые митинги и родилась реплика про 146%. Во время прямой линии президент предложил в следующий раз оборудовать все избирательные участки камерами. Мы уже были знакомы с «Ростелекомом» — помогали им делать трансляции восстановления разрушенных пожарами деревень, поэтому оказались в рабочей группе.

До выборов оставалось два с половиной месяца — с учётом российских и китайских новогодних праздников, это критически мало. Китай нам был важен как основной поставщик — такого количества камер и другого «железа» у нас не найти. К середине февраля наши решения должны быть готовы: остальное время было зарезервировано под поезда, которые развозили оборудование по регионам.

Мы остались единственными, кто согласился работать на таких условиях, и было очень страшно. Если бы что-то пошло не так, возможно, день выборов был бы последним для нашей компании, а руководителей обвинили в растрате средств.

Календарь с праздниками и дедлайном

Выросший до ста человек Undev перешёл на режим работы без выходных: компания выкупила у сотрудников отпускные авиабилеты, организовала комнаты отдыха, раскладушки, дополнительное питание. Прямо в офис наняли двух массажистов для совсем уставших людей. Все понимали, что это ключевой проект и возможность себя проявить.

Если компания переходит на круглосуточный режим работы, рекомендуем заказывать в офис партию чистых носков — это оказалось не так очевидно, как, например, зубные пасты.

Под выборы «Ростелеком» значительно расширил покрытие своей сетью — это стало большим толчком к развитию интернета в стране. Там, куда «Ростелеком» не смог дотянуться проводами, организовали спутниковую связь и зарезервировали несколько каналов на даты выборов. А если речь шла о совсем глухой и малонаселённой деревне, то всё равно нужно было хотя бы записать процесс голосования.

Компания предоставила нам площадки в крупных региональных дата-центрах и взяла на себя всю логистику: закупку и установку камер, установку и монтаж серверов, обслуживание системы.

Количество камер на каждом участке было ограничено, и мы решили действовать экономно. На выборах нам нужно показывать избирательную комиссию и урны, поэтому остановились на двух веб-камерах, обзор которых покрывает 80% помещения. Мы протестировали 75 моделей оборудования и порекомендовали конкретные четыре USB-камеры и восемь ноутбуков.

Две тысячи бригад устанавливали технику на избирательные участки. Ноутбук закрывался и прятался в железном ящике, а камеры подключались к нему по 5- и 10-метровым USB-проводам.

Инструкция по подключению USB-удлинителей для установщиков

Всё это включалось за час до выборов и работало весь день. Были и территориальные избирательные комиссии, которые нужно транслировать, пока они не закончат подсчёт — иногда это затягивалось до середины следующего дня.

Технические детали: нужно было выбрать дешёвый ноутбук, но при этом достаточно мощный для захвата видео с двух камер — особое внимание обращали на процессоры и USB-шины.

Видеопотоки с камер уходили в региональные дата-центры — совместными усилиями мы оборудовали семь площадок — примерно по федеральным округам. Было достаточно сложно просчитать нагрузку на сервера: мы не понимали, скольким людям это будет интересно и ориентировались на два миллиона человек одновременно. Другая сторона вопроса: сколько людей должна выдерживать страница просмотра конкретного участка. К примеру, если на этот участок пришёл Путин, и все бы бросились на это смотреть.

Со стороны пользователя это выглядело как интерактивная карта страны, где он перемещался между иконками избирательных участков, а внутри каждого мог переключаться между камерами. Пользователь получал видео из ближайшего дата-центра — для этого мы придумали цепочку микросервисов. Так мы избежали перегрузки каналов. Если за каким-то участком никто не наблюдал, то дата-центр его просто записывал.

За месяц до выборов мы запустили сайт и предложили пользователям регистрироваться и добавлять участки в избранное. Это была мера предосторожности: мы опасались аномальной нагрузки и смогли бы закрыть просмотр для незарегистрированных пользователей. Это не пригодилось, зато помогло разгрузить систему авторизации в день выборов.

По тем временам система отработала на 10/10. До нас такого ещё никто не делал.

Нюансы: чёрные экраны и дискотеки

Сложности возникали как у нас, так и у «Ростелекома» — где-то ломали оборудование или просто крали. После выборов мы отдали в правоохранительные органы массу записей, на которых видно последний снятый кадр — с лицом человека, который полез воровать ноутбук.

Инженеры «Ростелекома» придумали гениальную металлическую пластину, которая крепит камеру к стене

В ночь перед выборами мы включали некоторые камеры для проверки, а там обычные для региональных школ дискотеки. Один из участков в чеченском селе был организован у человека дома — за его бытом наблюдали до 40 тысяч человек.

В день выборов технические проблемы решались до шести утра. Описать их просто: открываешь экран некоторых участков, а там чёрный экран вместо трансляции. При виде этого нервничали все: от технических специалистов до заместителя министра.

Причин на это было много:

  • Сбой настроек ноутбука.
  • Неверно указан участок.
  • Неправильно установлено системное время.
  • Плохой интернет-канал.
  • Баги видеобэкенда.

Бывало, что мы искали проблемы на участках, где просто убрали камеры в тёмные ящики — чтобы не украли. В этом случае мы тоже наблюдали чёрных экран. Но был и признак, по которому можно было понять, что камера работает — незаметный «водяной знак» в углу изображения. На них отображалось время, и разработчики потратили уйму времени, вглядываясь в темноту, чтобы их найти.

Большинство проблем удалось решить в последний момент, когда мы обновили видеобэкенд. Остальную порцию проблем мы решили с помощью удалённого доступа к ноутбукам — выполняли диагностику, правили настройки и перезагружались.

Основной экран, который мы считаем шедевральной работой

Брак тоже сыграл свою роль, что в таких масштабах неудивительно, а его процент даже был заложен в договорённости. Особенно подвели USB-кабели — это трагикомическая история: огромное число проблем упиралось именно в них. Они либо сразу не работали, либо прерывали трансляцию от лёгких прикосновений. Бывало, что на одном участке их меняли по десять раз.

Перед выборами сформировалось мнение, что трансляции нужны для «показухи», поэтому нашлись энтузиасты, которые решили записать все трансляции к себе. Они начали исследовать сайт и разбирать его по винтикам, чтобы понять принцип работы.

Затем были написаны скрипты и даже приложение под Windows, которые захватывали поток с трансляцией. Это доставило нам массу неприятностей — люди одновременно подключались к тысячам участков, чтобы их записать. Это явление мы назвали «качальщиками» и старались всех вычислить и забанить. Но положительный эффект тоже был — благодаря этим людям мы нашли пару дефектов и улучшили производительность платформы.

В итоге, пиковая нагрузка составила полмиллиона человек, а сайт всё пережил нормально.

Объединение с «Ростелекомом»

Следом мы успешно провели трансляцию Универсиады в Казани и приступили к новому проекту интерактивного телевидения. В облаке собиралось и кодировалось видео из разных источников, которое затем транслировалось на разные устройства. Поверх видео можно было накладывать телеметрию и графику: рисовать трехмёрные анимации или интерактивные интерфейсы.

В качестве примера использования можно привести трансляции гонок «Формулы 1». Там помимо обычных камер, устанавливают дополнительные — на болиды и шлемы пилотов. Пользователь мог сам выбрать интересный ракурс и дополнить трансляцию инфографикой о машине или команде.

Это был интересный стартап с большими инвестициями, но он не выстрелил. Компания оказалась в кризисе, начались сокращения и в последний момент нас купил «Ростелеком».

Затем мы переименовались в «Рестрим» и даже сохранили автономию внутри большой корпорации. Тогда «Ростелеком» инвестировал в пилотные проекты корпоративного и частного видеонаблюдения.

Подготовка к выборам 2018 года: выкинули провода

Главное изменение по сравнению с выборами шестилетней давности — использование только IP-камер. Для них не нужен ноутбук и провода — камеры сами обрабатывают и передают трансляцию. Их мы протестировали три года назад на региональных выборах.

Переход на них произошёл по нескольким причинам. Во-первых, часть старых камер разошлась по регионам или оказалась изношенной — их нельзя было снова собрать. Во-вторых, IP-камера — это более надёжное и совершенное устройство, позволяющее улучшить качество наших трансляций как минимум в два раза. В-третьих, это просто дешевле, чем снабжать каждый участок ноутбуком.

Отдельным вызовом стала разработка собственной прошивки для IP-камеры. Для производителей камер это достаточно «интимное» дело, они предпочитают не посвящать посторонних, даже таких больших, как «Ростелеком», в технические детали.

Мы пытались разобраться в этом сами: «расковыривали» заводские прошивки камер и отсиживались на китайских форумах в поисках информации. И в то же время уговаривали производителей раскрыть детали, но в ответ, как правило, звучало — «не будем давать никаких подробностей».

В момент, когда что-то начало получаться, «Ростелеком» объявил о закупке ста тысяч камер. К этому моменту у нас уже был прототип прошивки, который работал на полностью нашем коде. В условиях закупки было оговорено, что производитель поставит нашу прошивку в свои камеры прямо на заводе, и это можно считать большим успехом.

Тем не менее, мы сильно рисковали не успеть: надо было наладить производство камер, доставить их в Россию и развести по регионам. Времени критически мало — всего несколько месяцев, а запасного плана нет.

Мы потратили уйму времени и нервов, чтобы показать китайским коллегам, как правильно работать с прошивкой — наши ребята неделями сидели в командировках, учили прошивать и тестировать камеры. Однажды мы столкнулись с тем, что китайцы показали один прототип камеры, а через несколько недель привезли другой, с новой «начинкой».

— Ребята, это что?

— Это то же самое, мы чуть-чуть поменяли.

Огромный плюс своей прошивки в том, что мы становимся независимы от конкретного производителя — теперь можно разрабатывать прошивку под тип процессора. И если существуют сотни производителей камер, то чипы для них делает всего две–три компании. Это позволит экономить на закупках: список поставщиков значительно расширяется. Вот пример одной из недавних, на которой мы сэкономили более сотни миллионов рублей.

Статистика на последних выборах

Из остальных изменений — ввод резервного дата-центра в Москве. Он защищал и страховал систему от случайностей и атак — при аварии можно было незамедлительно на него переключиться.

В этот раз мы показали в два раза меньше участков, но были выбраны самые массовые — в сумме это 80-85% избирателей. Это тоже повлияло на стоимость проекта, которая на порядок рухнула по сравнению с выборами 2012 года. Ещё сыграло свою роль то, что связь уже протянута, дата-центры оборудованы и не нужно закупать сто тысяч ноутбуков.

Статистика по выборам выглядит так:

Нервозность не пропала даже во время последних выборов. Мы дежурили в посменном режиме, кто-то совсем не спал, кто-то снимал комнату в ближайшей гостинице. Но с 2012 года удалось накопить богатый опыт — мы хорошо понимаем, как всё устроено и каких ошибок ожидать.

Сложности возникали только с принципиально новыми вещами, которые мы не успели до конца отладить. К примеру, незадолго до выборов нас попросили сделать статистику — что-то вроде «Яндекс.Метрики» по географии посетителей или по вниманию к участкам. В следующий раз могут появиться новые требования по шифрованию или распределению хранилищ.

Куда это всё идёт

Сама платформа создавалась и оттачивалась очень много лет. Её бэкенд — то, как она захватывает и передаёт трансляцию — это надёжная и цельная разработка. Нам проще развернуть её под другие бизнес-нужды, чем придумывать принципиально новые продукты с нуля. Сфер, где это может пригодится — масса.

На этих технологиях уже работают два наших проекта — «Видеонаблюдение для бизнеса» и «Умный дом», которые как раз и рассчитаны на сегменты b2b и b2c соответственно.

0
39 комментариев
Написать комментарий...
Roman Greshnik

Видеонаблюдение за российскими выборами по пользе эквивалентно стрельбе из лука по невидимым драконам

Ответить
Развернуть ветку
Владимир Труфанов

Лучше и не скажешь, в точку!

Ответить
Развернуть ветку
Spurdo Sparta

А как же порьба с коррупцией?

Ответить
Развернуть ветку
Pixel Lens
порьба

Угу. Смотришь так на эту борьбу - а порево какое-то.

Ответить
Развернуть ветку
Stanislav

Даже читать это противно зная , что этот тендер они получили известно каким образом.
А тут еще пишут и делают вид что они мегапродвинутая компания. Тестируют первыми все новейшие СОРМы, мешающие жить людям. Позор работать в этой компании.

Ответить
Развернуть ветку
Max Lapshin

они получили его очевидным образом: за 2,5 месяца до выборов они были единственным тандемом в стране, которые смогли бы такое провернуть.

Ответить
Развернуть ветку
Aleksandr Kavun

Откройте же всем тайну, каким позорным образом выиграли они этот античеловечный тендер?

Ответить
Развернуть ветку
Max Lapshin

видимо, учитывая специфику того момента, сам выигрыш был позорным. Надо было, как всем уважающим себя людям с умными лицами (помните такой мем?), уехать из страны и выключить за собой свет в Шереметьево.

Ответить
Развернуть ветку
Spurdo Sparta

Уважаемые люди переговорили с правильными людьми и договорились.

Ответить
Развернуть ветку
Aleksandr Kavun

Вы сейчас описали, как работает и бизнес, и государство вообще, любое. Позор в чём? В том, что взялись? В том, что справились?

Ответить
Развернуть ветку
Роман Тымцив

Позор в том, что участвовали (косвенно) в фальсификациях. У фашистов тоже в концлагере были и повара, и уборщица, кроме военных. Вот на таких ролях эти ребята поработали

Ответить
Развернуть ветку
Aleksandr Kavun

Косвенно и вы поучаствовали. Спокойно спите по ночам?

Ответить
Развернуть ветку
Андрей Захаров

Тендер открытый был?
Если нет, то да - позор и "государство вообще, любое" приплетать тогда не надо ибо существуют и другие практики.

Ответить
Развернуть ветку
Aleksandr Kavun

Я понятия не имею, обжигающую ПРАВДУ знает лишь Stanislav, но молчит, к сожалению. А уж о других практиках детям рассказывайте.

Ответить
Развернуть ветку
Aleksandr Kavun

Чего минусишь? Вбросил — продолжай рассказ.

Ответить
Развернуть ветку
Павел Данилов

"Бывало, что мы искали проблемы на участках, где просто убрали камеры в тёмные ящики — чтобы не украли. В этом случае мы тоже наблюдали чёрных экран. Но был и признак, по которому можно было понять, что камера работает — незаметный «водяной знак» в углу изображения. На них отображалось время, и разработчики потратили уйму времени, вглядываясь в темноту, чтобы их найти."

Што? Вы не умеете отличать наличие сигнала (пусть даже чёрный экран) от отсутствия сигнала?

Ответить
Развернуть ветку
Anton Redkin

Меня крайне не устраивает, что блокировали тех, кто пытался записывать трансляции, ведь никто не посчитал нужным всё это выложить в открытый доступ. В таком случае это профанация, именно создание видимости. Нужно или всё хранить и выкладывать, или учесть, что настоящая польза именно от тех, кто записывает, а остальное - показуха.

Ответить
Развернуть ветку
Roman Udot

Видеонаблюдение - прорыв в будущее. Ещё никогда не было столько доказательств фальсификаций. Спасибо вам огромное!
Но нужен доступ к записям. В таком случае, медленно и упорно можно выявить фальсификации сотен тысяч голосов. https://www.golosinfo.org/ru/articles/143192
И из вкусненького. https://www.facebook.com/roman.udot/posts/2651229444907143
Таких роликов - сотни!

Ответить
Развернуть ветку
Boris Ovchinnikov

"Это явление мы назвали «качальщиками» и старались всех вычислить и забанить"

Спасибо за признание в:
1. помощи фальсификаторам в сокрытии улик
2. блокировании попыток активистов извлечь хоть какую-то реальную пользу из потраченных миллиардов налогоплательщиков

Ответить
Развернуть ветку
Sergey Kalinin

"У нас было 200 тысяч камер, 100 тысяч ноутбуков и два с половиной месяца на работу"
А еще Н-ное количество ярдов налогоплательщиков которые нам всё это оплатили.

Ответить
Развернуть ветку
Евгений Катышев

Надеюсь, Ростелеком тайно хранит все записи с камер, которые, якобы, были удалены.

Ответить
Развернуть ветку
Boris Ovchinnikov

Сомневаюсь

Но в 2018 году удалось таки записать тысячи участков (да, ЦИК их не может хранить, а ребята на голом энтузиазме решают задачу) - до сих пор люди смотрят и участок за участком видят нестыковку официальной и реальной явки

Ответить
Развернуть ветку
Николай Писарев

Почему не выложили фотографию с комнатой мониторинга , великолепное зрелище было)

Ответить
Развернуть ветку
Evgeny Zajcev

Не написал как упирались в скорость света на 20метровых usb кабелях, как паверлайн десинк гасили фильтрами, как придумали fps control модуль, как оптимайзили запись на винт, чтобы лялих не мешался и тд, как жрали фенотропил с редбулом и дрочили прям в офисе, когда ебаца хотелось. Было весело :)

А ещё забавно было, когда нужно было гасить УИКи на Чукотке, а наш скриптец не шибко паралельный не успевал и там замминистра в телефон "Выключайте интернет в Сибири" - :)) я валялся, еле уговорил ещё 5 минут подождать

Ответить
Развернуть ветку
Max Lapshin

Женек, а чего за история с кабелями?

Ответить
Развернуть ветку
Evgeny Zajcev

Там в паре мест херанули 20ти метровые (где их только взяли) usb кабеля без репитеров, задержка в одну сторону была 100мс и всё завелось! Хотя по спеке не должно было работать, у usb чот типа 50мс

Ответить
Развернуть ветку
Evgeny Zajcev

наносекунд конечно же, не милли

Ответить
Развернуть ветку
Артур Перепелкин

Годандский штурвал?

Ответить
Развернуть ветку
Nikolay Kenig

Так кто на выборах победил то?

Ответить
Развернуть ветку
Spurdo Sparta

Правильный и уважаемый человек.

Ответить
Развернуть ветку
Max Lapshin

очевидно тот, кого выбрало большинство населения.

Ответить
Развернуть ветку
Nick Chernykh

Правда

Ответить
Развернуть ветку
Hi-Tech Лентач

Это был хороший проект, но очень дорогой. Я видел по нему закупку- точную цифру не помню но по моему там речь шла о 40-60 млрд. рублей. Интересно сколько из этой суммы досталось в итоге разработчикам, сколько ушло на оборудование и каналы связи (это реально было все очень трудно - я знаю, решать проблемы с последней милей - зачастую контракты закрывались задним числом уже по заверению проекта) и сколько осело в карманах "наемного менеджмента"

Ответить
Развернуть ветку
Максим Кураков

О, я как раз работал в undev на его закате. Когда большей части народу просто задержали зарплату на полгода, а потом и вовсе уволили. А потом оказалось, что у фирмы на которую мы работали был уставной капитал 10 тысяч и никакой собственности.
Привет, коллеги!

Ответить
Развернуть ветку
Max Lapshin

боюсь, что почти все программистские фирмы —  10 тыс + нулевая собственность, максимум несколько компьютеров.

Ответить
Развернуть ветку
Алексей Шторм

Ну ок, записи вроде все уничтожены? По нормальному нужно было обработать видео записи с системами компьютерного зрения и определить уровень фальсификаций.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Octave Parango

Видео с участков сохранено или нет?

Ответить
Развернуть ветку
Вадим Котов

 Я уверен, что хоть видео камерой можно как-то напугать мошенников, или хотя бы как-то зафиксировать их внешний вид. Мы покупали в этом интернет-магазине https://www.td-pride.ru/catalog/videonablyudenie/videokamery/tag/hd/ , цены хорошие, есть приятные скидки. 

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Аналитика на Диване

Воу! Ребята с нуля взяли и выкинули в помойку 5 лет своей жизни! Респект таким разработчикам. Не много кто будет работать над ничем.

Ответить
Развернуть ветку
36 комментариев
Раскрывать всегда