1. Актуализация
В то время как в преддверии выборов соответствующие ведомства в поте лица трудятся над процессом освоения оснащения избирательных участков устройствами, способными обеспечить видеотрансляцию легитимного процесса в Интернет, меня не покидает некое ощущение, что в ожидании «как лучше» вероятность получить «как всегда» достаточно высока. Особенно это касается сферы высоких технологий, где деятельность инициативных энтузиастов и государственных проектов находятся на диаметрально противоположных концах линейки «добро-зло».
До сих пор ряд вопросов для меня остается открытым, в частности даже после ознакомления с официальными документами остаются неизвестными, например:
1) Фактические характеристики трансляции. Описанные технические возможности видеокамер никак не пересекаются с тем, как они будут использованы на деле, в итоге не исключены разрешения а-ля minecraft.
2) Возможности доступа к архивам записанного, не исключена вероятность ведения исключительно онлайн трансляции.
3) Способность системных администраторов во всех регионах обеспечить правильную работу оборудования (кто посещал сельские почтовые отделения, тот поймет о чем я), в том числе и способность свежепроложенных каналов и узлов связи выдержать беспрецедентную нагрузку.
… ну и так далее.
Посему я принял волевое решение оснастить один из избирательных участков непосредственно собой, с соответствующей технической экипировкой в качестве альтернативы трансляции. Тем более что я себя чувствую достаточно квалифицированным, чтобы обеспечить непрерывную запись на отдельно взятом участке, а так же дальнейший доступ к этой записи из сети.
Сразу оговорюсь — я понимаю, что запечатлеть все углы участка в режиме 360 градусов, а так же залезть носом в урну крайне тяжело, но, на мой взгляд, этого и не нужно. Главная цель — зафиксировать:
1) количество избирателей, посетивших участок для сравнения с официальными данными
2) спокойную и дружелюбную атмосферу со стороны участников процесса
3) в случае критических ситуаций — обеспечить общий план развития событий, в качестве альтернативы камере в мобильном телефоне. По отзывам ряда общественных деятелей такого вида съемок очень не хватало на предыдущем мероприятии 4 декабря.
Решение есть, следующий этап — практическая реализация.
2. Организационный вопрос
Официально зарегистрировался в качестве наблюдателя. «Как-что» углубляться не буду, Гугл в помощь. Единственное — предпочел неопределенности электронных анкет где-то в Интернетах личный визит в региональное отделение партии одного из кандидатов. Неоспоримые плюсы: заранее записали на конкретный, удобный мне участок, провели организационно-воспитательную работу, и в нагрузку обещали дать денег. Честно говоря, я готов был пойти и бесплатно, но чувство собственного достоинства не позволило отказаться от бонусов.
3. Программный вопрос
Для записи будет использоваться то, что есть под рукой: комплект из веб-камеры Genius iLook 1321 v2, нетбука Asus EEE 1005HA с SSD диском на 120 Гб и базовой Win7 x64 и внешнего аккумулятора TopON TOP-UB02 5500mAh.
Почему в основе ПК, а не, скажем, видеокамера? Во-первых в отличие от мобильных устройств и отдельных видеокамер хороший ноутбук с выключенным экраном способен проработать в автономном режиме гораздо дольше, во-вторых у устройств с встроенными жесткими дисками или активными USB портами вопрос хранения записанного стоит гораздо менее остро, чем на устройствах с оптическими носителями или картами памяти, ну и потом, веб-камеру можно незаметно разместить возле рюкзака/портфеля с ноутбуком или на некотором расстоянии (в моем случае длина провода камеры — около 1,5 метров), а не держать постоянно на весу в дрожащих руках. Все-таки некий элемент анонимности будет добавлять комфорта и мне, и окружающим.
С функцией захвата видео в режиме реального времени замечательно справляется старый-добрый и к тому же бесплатный VirtualDub, причем в качестве источника подойдет любое DirectShow устройство. В несжатом виде поток будет слишком объемным, поэтому дополнительно скачиваем кодек для сжатия картинки «на лету», а в моем случае — и с поддержкой YUY2 (отдаваемым веб-камерой). Здесь тоже есть из чего выбрать, я поставил MSU Lossless Codec из за простоты установки, простой настройки вида «быстро или качественно» и несильного пожирания процессора.
Я затрону процесс настройки по минимуму, т.к. во многом он будет зависеть от конкретного оборудования. После запуска VirtualDub переходим в режим захвата видео: File -> Capture AVI, выбираем подключенное устройство на вкладке Device, формат и компрессию картинки (Video -> Format и Compression) и звука (если он нужен). Задаем имя файла для захвата: File -> Set capture file, и запускаем запись Capture -> Capture video.
В качестве дополнительных приятностей в VirtualDub реализованы возможность настраивать через меню Capture использование одновременно несколько накопителей с ограничением по объему (Capture drives), автоматически останавливать запись при, например, отсутствии свободного места на диске (Stop conditions), а так же автоматическая разбивка во время записи на несколько файлов вида Sample.01.avi (Enable multisegment capture) для удобства редактирования и хранения.
4. Оборудование
Минимальные требования для запуска VirtualDub сегодня обеспечивают подавляющее большинство ноутбуков, в документации описан процесс работы на Celeron 300, у многих сегодня телефоны быстрее. Поэтому ключевых момента в рамках записи 13 часов (1 час «в запасе»), которые имеет смысл рассмотреть отдельно, всего два: 1) пространство для хранения данных, 2) энергопотребление.
60 секунд видео YUY2 4:2:2 interleaved максимального качества и без звука заняло у меня в среднем: для формата 640x480 — 50 Мб, для формата 1280x1024 — 110 Мб. Для записи 13 часов всего процесса понадобится приблизительно 38 Гб и 84 Гб соответственно, что опять же вполне реализуемо, например через использование внешнего жесткого диска. Запись звука со сжатием в MP3 или OGG не сильно повлияет на результат, да и по сути не нужна, т.к. в рамках поставленной задачи «на словах» происходит мало интересного. При желании можно поставить более мощный кодек для сжатия и достичь результата, скажем, в 20 Мб на минуту видео, но такая экономия обернется массивным вычислительным процессом и пожиранием аккумулятора, что не есть хорошо.
Что касается картинки веб-камеры в 640x480 точек — при хорошем освещении лампами дневного света вполне хватает для четкой фиксации происходящего, поэтому в данном вопросе поддержка супервысоких разрешений не столь принципиальна и даже встроенного SSD диска объемом 120 Гб аккурат хватает.
В моем случае автономная работа нетбука во время записи с выключенным монитором на полностью заряженном аккумуляторе — 8 часов, даже с учетом пониженного энергопотребления SSD диска этого не достаточно. Здесь есть варианты: 1) оптимистичный, захватить с собой блок питания, удлиннитель и искать розетку в радиусе ореола обитания, 2) реалистичный, взять запасной аккумулятор, поменять штатный на аналог увеличенной емкости или использовать внешний универсальный аккумулятор. Я выбрал последний вариант. Как главный аргумент — универсальность и возможность использовать с другими ноутбуками, заряжать в машине как аналог адаптера и брать в отпуск в качестве развлечения в самолеты/автобусы для себя и детей. В итоге вместе со свежим внешним аккумулятором на 5500mAh получил больше 20 часов работы. Даже если вместо SSD использовать механический диск, на 13 часов такого хватит с запасом.
Общий вес используемых устройств: меньше 1,5 кг, минимум дискомфорта при переноске и много свободного места в рюкзаке для попкорна.
О результатах полевых испытаний сообщу отдельно.