У нас было 200 тысяч камер, 100 тысяч ноутбуков и два с половиной месяца на работу
История команды, которая придумала видеонаблюдение на российских выборах.
Предыстория: почему разработчики «Зомбоящика» взялись за выборы
Всё началось с компании Undev. Это скорее был стартап, в котором занимались видеопроектами, в том числе захватом спутникового и эфирного сигналов. В 2008 году это было в новинку — в те времена не существовало «Нетфликсов», и мы строили один из первых сервисов, где можно было посмотреть передачи и сериалы в записи.
Наша платформа называлась Zombobox, и она существовала на полулегальной основе. В этом смысле у нас была творческая свобода — никто не переживал о нарушении авторских прав. Сайт был бесплатным, но попасть на него можно было либо по знакомству, либо с инвайтом. Это ограничивало число пользователей: их было в районе тысячи, но они давали важную обратную связь, указывали, что могло бы работать лучше.
Несмотря на небольшой состав — около тридцати человек, — нам удалось собрать кадровые «сливки», это была одна из сильнейших команд Ruby-разработчиков в Москве.
Когда мы наигрались и задумались о монетизации, появился проект «Телемаркер». Мы подумали, что пора использовать записанный телеэфир, и в компании появились операторы — группа людей, которые просматривали все новости и размечали их.
Любой выпуск новостей состоит из сюжетов, поэтому оператор отмечал время начала каждого, расставлял теги с темами и именами участников. Можно было быстро найти все упоминания какого-нибудь политика или узнать, про что чаще всего говорят в сегодняшних новостях.
Этим быстро заинтересовались крупные компании, медиа и думские фракции. Проект начал зарабатывать и вышел на пик своей востребованности в конце нулевых. Основная сложность была с содержанием штата операторов: нужно было два–три десятка человек, чтобы отсматривать все каналы.
Со временем фокус с новостей и конференций сдвинулся в сторону спорта. Мы размечали олимпийские трансляции из Ванкувера по интересным моментам: падения, финиши, заброшенные шайбы. Внутри красивого приложения для телевизоров можно было быстро переключаться между всеми голами в матче.
Подготовка: офис с массажистами вместо Таиланда
В 2011 году состоялись выборы в Думу, и многие остались ими недовольны — состоялись массовые митинги и родилась реплика про 146%. Во время прямой линии президент предложил в следующий раз оборудовать все избирательные участки камерами. Мы уже были знакомы с «Ростелекомом» — помогали им делать трансляции восстановления разрушенных пожарами деревень, поэтому оказались в рабочей группе.
До выборов оставалось два с половиной месяца — с учётом российских и китайских новогодних праздников, это критически мало. Китай нам был важен как основной поставщик — такого количества камер и другого «железа» у нас не найти. К середине февраля наши решения должны быть готовы: остальное время было зарезервировано под поезда, которые развозили оборудование по регионам.
Мы остались единственными, кто согласился работать на таких условиях, и было очень страшно. Если бы что-то пошло не так, возможно, день выборов был бы последним для нашей компании, а руководителей обвинили в растрате средств.
Выросший до ста человек Undev перешёл на режим работы без выходных: компания выкупила у сотрудников отпускные авиабилеты, организовала комнаты отдыха, раскладушки, дополнительное питание. Прямо в офис наняли двух массажистов для совсем уставших людей. Все понимали, что это ключевой проект и возможность себя проявить.
Под выборы «Ростелеком» значительно расширил покрытие своей сетью — это стало большим толчком к развитию интернета в стране. Там, куда «Ростелеком» не смог дотянуться проводами, организовали спутниковую связь и зарезервировали несколько каналов на даты выборов. А если речь шла о совсем глухой и малонаселённой деревне, то всё равно нужно было хотя бы записать процесс голосования.
Компания предоставила нам площадки в крупных региональных дата-центрах и взяла на себя всю логистику: закупку и установку камер, установку и монтаж серверов, обслуживание системы.
Количество камер на каждом участке было ограничено, и мы решили действовать экономно. На выборах нам нужно показывать избирательную комиссию и урны, поэтому остановились на двух веб-камерах, обзор которых покрывает 80% помещения. Мы протестировали 75 моделей оборудования и порекомендовали конкретные четыре USB-камеры и восемь ноутбуков.
Две тысячи бригад устанавливали технику на избирательные участки. Ноутбук закрывался и прятался в железном ящике, а камеры подключались к нему по 5- и 10-метровым USB-проводам.
Всё это включалось за час до выборов и работало весь день. Были и территориальные избирательные комиссии, которые нужно транслировать, пока они не закончат подсчёт — иногда это затягивалось до середины следующего дня.
Видеопотоки с камер уходили в региональные дата-центры — совместными усилиями мы оборудовали семь площадок — примерно по федеральным округам. Было достаточно сложно просчитать нагрузку на сервера: мы не понимали, скольким людям это будет интересно и ориентировались на два миллиона человек одновременно. Другая сторона вопроса: сколько людей должна выдерживать страница просмотра конкретного участка. К примеру, если на этот участок пришёл Путин, и все бы бросились на это смотреть.
Со стороны пользователя это выглядело как интерактивная карта страны, где он перемещался между иконками избирательных участков, а внутри каждого мог переключаться между камерами. Пользователь получал видео из ближайшего дата-центра — для этого мы придумали цепочку микросервисов. Так мы избежали перегрузки каналов. Если за каким-то участком никто не наблюдал, то дата-центр его просто записывал.
За месяц до выборов мы запустили сайт и предложили пользователям регистрироваться и добавлять участки в избранное. Это была мера предосторожности: мы опасались аномальной нагрузки и смогли бы закрыть просмотр для незарегистрированных пользователей. Это не пригодилось, зато помогло разгрузить систему авторизации в день выборов.
Нюансы: чёрные экраны и дискотеки
Сложности возникали как у нас, так и у «Ростелекома» — где-то ломали оборудование или просто крали. После выборов мы отдали в правоохранительные органы массу записей, на которых видно последний снятый кадр — с лицом человека, который полез воровать ноутбук.
В ночь перед выборами мы включали некоторые камеры для проверки, а там обычные для региональных школ дискотеки. Один из участков в чеченском селе был организован у человека дома — за его бытом наблюдали до 40 тысяч человек.
В день выборов технические проблемы решались до шести утра. Описать их просто: открываешь экран некоторых участков, а там чёрный экран вместо трансляции. При виде этого нервничали все: от технических специалистов до заместителя министра.
Причин на это было много:
- Сбой настроек ноутбука.
- Неверно указан участок.
- Неправильно установлено системное время.
- Плохой интернет-канал.
- Баги видеобэкенда.
Бывало, что мы искали проблемы на участках, где просто убрали камеры в тёмные ящики — чтобы не украли. В этом случае мы тоже наблюдали чёрных экран. Но был и признак, по которому можно было понять, что камера работает — незаметный «водяной знак» в углу изображения. На них отображалось время, и разработчики потратили уйму времени, вглядываясь в темноту, чтобы их найти.
Большинство проблем удалось решить в последний момент, когда мы обновили видеобэкенд. Остальную порцию проблем мы решили с помощью удалённого доступа к ноутбукам — выполняли диагностику, правили настройки и перезагружались.
Брак тоже сыграл свою роль, что в таких масштабах неудивительно, а его процент даже был заложен в договорённости. Особенно подвели USB-кабели — это трагикомическая история: огромное число проблем упиралось именно в них. Они либо сразу не работали, либо прерывали трансляцию от лёгких прикосновений. Бывало, что на одном участке их меняли по десять раз.
Перед выборами сформировалось мнение, что трансляции нужны для «показухи», поэтому нашлись энтузиасты, которые решили записать все трансляции к себе. Они начали исследовать сайт и разбирать его по винтикам, чтобы понять принцип работы.
Затем были написаны скрипты и даже приложение под Windows, которые захватывали поток с трансляцией. Это доставило нам массу неприятностей — люди одновременно подключались к тысячам участков, чтобы их записать. Это явление мы назвали «качальщиками» и старались всех вычислить и забанить. Но положительный эффект тоже был — благодаря этим людям мы нашли пару дефектов и улучшили производительность платформы.
В итоге, пиковая нагрузка составила полмиллиона человек, а сайт всё пережил нормально.
Объединение с «Ростелекомом»
Следом мы успешно провели трансляцию Универсиады в Казани и приступили к новому проекту интерактивного телевидения. В облаке собиралось и кодировалось видео из разных источников, которое затем транслировалось на разные устройства. Поверх видео можно было накладывать телеметрию и графику: рисовать трехмёрные анимации или интерактивные интерфейсы.
В качестве примера использования можно привести трансляции гонок «Формулы 1». Там помимо обычных камер, устанавливают дополнительные — на болиды и шлемы пилотов. Пользователь мог сам выбрать интересный ракурс и дополнить трансляцию инфографикой о машине или команде.
Это был интересный стартап с большими инвестициями, но он не выстрелил. Компания оказалась в кризисе, начались сокращения и в последний момент нас купил «Ростелеком».
Затем мы переименовались в «Рестрим» и даже сохранили автономию внутри большой корпорации. Тогда «Ростелеком» инвестировал в пилотные проекты корпоративного и частного видеонаблюдения.
Подготовка к выборам 2018 года: выкинули провода
Главное изменение по сравнению с выборами шестилетней давности — использование только IP-камер. Для них не нужен ноутбук и провода — камеры сами обрабатывают и передают трансляцию. Их мы протестировали три года назад на региональных выборах.
Переход на них произошёл по нескольким причинам. Во-первых, часть старых камер разошлась по регионам или оказалась изношенной — их нельзя было снова собрать. Во-вторых, IP-камера — это более надёжное и совершенное устройство, позволяющее улучшить качество наших трансляций как минимум в два раза. В-третьих, это просто дешевле, чем снабжать каждый участок ноутбуком.
Отдельным вызовом стала разработка собственной прошивки для IP-камеры. Для производителей камер это достаточно «интимное» дело, они предпочитают не посвящать посторонних, даже таких больших, как «Ростелеком», в технические детали.
Мы пытались разобраться в этом сами: «расковыривали» заводские прошивки камер и отсиживались на китайских форумах в поисках информации. И в то же время уговаривали производителей раскрыть детали, но в ответ, как правило, звучало — «не будем давать никаких подробностей».
В момент, когда что-то начало получаться, «Ростелеком» объявил о закупке ста тысяч камер. К этому моменту у нас уже был прототип прошивки, который работал на полностью нашем коде. В условиях закупки было оговорено, что производитель поставит нашу прошивку в свои камеры прямо на заводе, и это можно считать большим успехом.
Тем не менее, мы сильно рисковали не успеть: надо было наладить производство камер, доставить их в Россию и развести по регионам. Времени критически мало — всего несколько месяцев, а запасного плана нет.
Мы потратили уйму времени и нервов, чтобы показать китайским коллегам, как правильно работать с прошивкой — наши ребята неделями сидели в командировках, учили прошивать и тестировать камеры. Однажды мы столкнулись с тем, что китайцы показали один прототип камеры, а через несколько недель привезли другой, с новой «начинкой».
Огромный плюс своей прошивки в том, что мы становимся независимы от конкретного производителя — теперь можно разрабатывать прошивку под тип процессора. И если существуют сотни производителей камер, то чипы для них делает всего две–три компании. Это позволит экономить на закупках: список поставщиков значительно расширяется. Вот пример одной из недавних, на которой мы сэкономили более сотни миллионов рублей.
Статистика на последних выборах
Из остальных изменений — ввод резервного дата-центра в Москве. Он защищал и страховал систему от случайностей и атак — при аварии можно было незамедлительно на него переключиться.
В этот раз мы показали в два раза меньше участков, но были выбраны самые массовые — в сумме это 80-85% избирателей. Это тоже повлияло на стоимость проекта, которая на порядок рухнула по сравнению с выборами 2012 года. Ещё сыграло свою роль то, что связь уже протянута, дата-центры оборудованы и не нужно закупать сто тысяч ноутбуков.
Статистика по выборам выглядит так:
Нервозность не пропала даже во время последних выборов. Мы дежурили в посменном режиме, кто-то совсем не спал, кто-то снимал комнату в ближайшей гостинице. Но с 2012 года удалось накопить богатый опыт — мы хорошо понимаем, как всё устроено и каких ошибок ожидать.
Сложности возникали только с принципиально новыми вещами, которые мы не успели до конца отладить. К примеру, незадолго до выборов нас попросили сделать статистику — что-то вроде «Яндекс.Метрики» по географии посетителей или по вниманию к участкам. В следующий раз могут появиться новые требования по шифрованию или распределению хранилищ.
Куда это всё идёт
Сама платформа создавалась и оттачивалась очень много лет. Её бэкенд — то, как она захватывает и передаёт трансляцию — это надёжная и цельная разработка. Нам проще развернуть её под другие бизнес-нужды, чем придумывать принципиально новые продукты с нуля. Сфер, где это может пригодится — масса.
На этих технологиях уже работают два наших проекта — «Видеонаблюдение для бизнеса» и «Умный дом», которые как раз и рассчитаны на сегменты b2b и b2c соответственно.
Видеонаблюдение за российскими выборами по пользе эквивалентно стрельбе из лука по невидимым драконам
Лучше и не скажешь, в точку!
А как же порьба с коррупцией?
Угу. Смотришь так на эту борьбу - а порево какое-то.
Даже читать это противно зная , что этот тендер они получили известно каким образом.
А тут еще пишут и делают вид что они мегапродвинутая компания. Тестируют первыми все новейшие СОРМы, мешающие жить людям. Позор работать в этой компании.
они получили его очевидным образом: за 2,5 месяца до выборов они были единственным тандемом в стране, которые смогли бы такое провернуть.
Откройте же всем тайну, каким позорным образом выиграли они этот античеловечный тендер?
видимо, учитывая специфику того момента, сам выигрыш был позорным. Надо было, как всем уважающим себя людям с умными лицами (помните такой мем?), уехать из страны и выключить за собой свет в Шереметьево.
Уважаемые люди переговорили с правильными людьми и договорились.
Вы сейчас описали, как работает и бизнес, и государство вообще, любое. Позор в чём? В том, что взялись? В том, что справились?
Позор в том, что участвовали (косвенно) в фальсификациях. У фашистов тоже в концлагере были и повара, и уборщица, кроме военных. Вот на таких ролях эти ребята поработали
Косвенно и вы поучаствовали. Спокойно спите по ночам?
Тендер открытый был?
Если нет, то да - позор и "государство вообще, любое" приплетать тогда не надо ибо существуют и другие практики.
Я понятия не имею, обжигающую ПРАВДУ знает лишь Stanislav, но молчит, к сожалению. А уж о других практиках детям рассказывайте.
Чего минусишь? Вбросил — продолжай рассказ.
"Бывало, что мы искали проблемы на участках, где просто убрали камеры в тёмные ящики — чтобы не украли. В этом случае мы тоже наблюдали чёрных экран. Но был и признак, по которому можно было понять, что камера работает — незаметный «водяной знак» в углу изображения. На них отображалось время, и разработчики потратили уйму времени, вглядываясь в темноту, чтобы их найти."
Што? Вы не умеете отличать наличие сигнала (пусть даже чёрный экран) от отсутствия сигнала?
Меня крайне не устраивает, что блокировали тех, кто пытался записывать трансляции, ведь никто не посчитал нужным всё это выложить в открытый доступ. В таком случае это профанация, именно создание видимости. Нужно или всё хранить и выкладывать, или учесть, что настоящая польза именно от тех, кто записывает, а остальное - показуха.
Видеонаблюдение - прорыв в будущее. Ещё никогда не было столько доказательств фальсификаций. Спасибо вам огромное!
Но нужен доступ к записям. В таком случае, медленно и упорно можно выявить фальсификации сотен тысяч голосов. https://www.golosinfo.org/ru/articles/143192
И из вкусненького. https://www.facebook.com/roman.udot/posts/2651229444907143
Таких роликов - сотни!
"Это явление мы назвали «качальщиками» и старались всех вычислить и забанить"
Спасибо за признание в:
1. помощи фальсификаторам в сокрытии улик
2. блокировании попыток активистов извлечь хоть какую-то реальную пользу из потраченных миллиардов налогоплательщиков
"У нас было 200 тысяч камер, 100 тысяч ноутбуков и два с половиной месяца на работу"
А еще Н-ное количество ярдов налогоплательщиков которые нам всё это оплатили.
Надеюсь, Ростелеком тайно хранит все записи с камер, которые, якобы, были удалены.
Сомневаюсь
Но в 2018 году удалось таки записать тысячи участков (да, ЦИК их не может хранить, а ребята на голом энтузиазме решают задачу) - до сих пор люди смотрят и участок за участком видят нестыковку официальной и реальной явки
Почему не выложили фотографию с комнатой мониторинга , великолепное зрелище было)
Не написал как упирались в скорость света на 20метровых usb кабелях, как паверлайн десинк гасили фильтрами, как придумали fps control модуль, как оптимайзили запись на винт, чтобы лялих не мешался и тд, как жрали фенотропил с редбулом и дрочили прям в офисе, когда ебаца хотелось. Было весело :)
А ещё забавно было, когда нужно было гасить УИКи на Чукотке, а наш скриптец не шибко паралельный не успевал и там замминистра в телефон "Выключайте интернет в Сибири" - :)) я валялся, еле уговорил ещё 5 минут подождать
Женек, а чего за история с кабелями?
Там в паре мест херанули 20ти метровые (где их только взяли) usb кабеля без репитеров, задержка в одну сторону была 100мс и всё завелось! Хотя по спеке не должно было работать, у usb чот типа 50мс
наносекунд конечно же, не милли
Годандский штурвал?
Так кто на выборах победил то?
Правильный и уважаемый человек.
очевидно тот, кого выбрало большинство населения.
Правда
Это был хороший проект, но очень дорогой. Я видел по нему закупку- точную цифру не помню но по моему там речь шла о 40-60 млрд. рублей. Интересно сколько из этой суммы досталось в итоге разработчикам, сколько ушло на оборудование и каналы связи (это реально было все очень трудно - я знаю, решать проблемы с последней милей - зачастую контракты закрывались задним числом уже по заверению проекта) и сколько осело в карманах "наемного менеджмента"
О, я как раз работал в undev на его закате. Когда большей части народу просто задержали зарплату на полгода, а потом и вовсе уволили. А потом оказалось, что у фирмы на которую мы работали был уставной капитал 10 тысяч и никакой собственности.
Привет, коллеги!
боюсь, что почти все программистские фирмы — 10 тыс + нулевая собственность, максимум несколько компьютеров.
Ну ок, записи вроде все уничтожены? По нормальному нужно было обработать видео записи с системами компьютерного зрения и определить уровень фальсификаций.
Комментарий удален модератором
Видео с участков сохранено или нет?
Я уверен, что хоть видео камерой можно как-то напугать мошенников, или хотя бы как-то зафиксировать их внешний вид. Мы покупали в этом интернет-магазине https://www.td-pride.ru/catalog/videonablyudenie/videokamery/tag/hd/ , цены хорошие, есть приятные скидки.
Комментарий удален модератором
Воу! Ребята с нуля взяли и выкинули в помойку 5 лет своей жизни! Респект таким разработчикам. Не много кто будет работать над ничем.