0,0
рейтинг
2 марта 2012 в 19:00

Программа для записи трансляции выборов с webvyboryedg.ru

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

Характеристики


Программа предназначена для записи видеоматериалов с сайта webvyboryedg.ru.
Интерфейс консольный. Возможно запустить по расписанию.
Поддержка работы через прокси.
Есть возможность настроить размер сохраняемых отрезков видео.

Как пользоваться то?


Проверьте, что у вас установлена Java. Если нет, то установите с java.com или c www.oracle.com/technetwork/java/javase/downloads/index.html выберите JRE.

На сайте webvyboryedg.ru выбираете нужный участок.

Теперь надо получить пару (ip сервера и cid камеры). Есть три способа.

Первый
В адресной строке браузера видите id участка (http://webvyboryedg.ru/#precinct/12345, 12345 и есть id участка).

В адресной строке вводите адрес webvyboryedg.ru/account/channels?station_id=12345. Получаете файл в котором есть пары: ip сервера и cid камеры.

Второй способ получения пары (ip сервера и cid камеры).
Когда начнется трансляция, с помощью консоли браузера (вызов по F12) смотрите адрес, с которого поступает видео.






Для запуска программы требуются три параметра: имя камеры (например, uik12345cam1), ip-адрес сервера (например, 188.8.8.8) и id камеры (например, 9096138f-4687-11e2-bce6-048d7b47db12). Имя камеры придумывайте сами. Оно будет добавляться в наименование выходного файла. Поэтому пишите без пробелов и без спецсимволов во избежание ошибок с файловой системой (например, uik12345cam1, где 12345 — id участка). По этому имени потом легче будет разбираться в записанном. Кроме этого, данный параметр исключит конфликт имен, если вы будете писать с разных камер в один каталог.

Убедитесь, что на диске достаточно места. Один час трансляции (640х480) с одной камеры занимает примерно 60 МБ.

Убедитесь, что есть права на запись в папку, где будет запущена программа.

Убедитесь, что у Вас установлена Java. Откройте командную строку (в Windows — сочетание клавиш Win+R). Наберите команду java. Нажмите Enter должно появиться много текста. Если команда не найдена, установите Java с сайта http://java.com.

Запустить программу из командной строки:
	java -jar webvyboryRecord.jar uik12345cam1 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12

В случае неправильного указания параметров будут показаны примеры
Identify at least 3 parameters: UIK name, server ip and camera id(cid)
Examples:
	java -jar webvyboryRecord.jar uik12345cam1 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12
	With proxy:
		java -jar webvyboryRecord.jar uik12345cam1 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 -proxy 127.0.0.1:8080
	Identify file length in minutes (default 60)
		java -jar webvyboryRecord.jar uik12345cam1 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 60
		java -jar webvyboryRecord.jar uik12345cam1 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 -proxy 127.0.0.1:8080 60
Порядок параметров строго обязятелен.

После запуска программы будут появляться строки
Create new file: vybory_uik12345cam1_02_094048.ts
Added new segment: http://188.254.112.34/hls/09626089-641a-aaaa-aaaa-bcad28d07aaf/1474219561.02-1474219577.66.ts?input=ele-production
Added new segment: http://188.254.112.34/hls/09626089-641a-aaaa-aaaa-bcad28d07aaf/1474219577.66-1474219594.35.ts?input=ele-production

В каталоге с программой создадутся файлы следующего формата
vybory_<имя_камеры>_<день>_<часыминутысекунды>.ts

Время указывает на начало эпизода, находящегося в файле. Если стоит 04_080100, значит вы сумели быстро начать запись и в этом файле можно будет увидеть, как на участке запускают первых избирателей, а урны пусты.
В этом файле видео(15 fps, h264) и возможно аудио (25 kb/s, aac).

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

Какие могут быть проблемы?


В день голосования трансляция будет работать по другой схеме.


Увы, программа, скорее всего, работать не будет. Будем выкручиваться и переписывать код.

Враги украли Интернет


Будут появляться сообщения
Can't get M3U file: http://188.8.8.8/variant.m3u8?cid=9096138f-4687-11e2-bce6-048d7b47db12&var=orig
Это будет до тех пор, пока не вернут Интернет. После этого запись продолжиться. Перезапускать программу не надо.
Если строки не появляются, а на сайте есть трансляция, программа всё-таки зависла.

Отняли доступ на запись в файл или в каталог


Будут появляться сообщения
Can't open file: vybory2012_uik12345cam1_02_194048.ts(vybory2012_uik12345cam1_02_194048.ts (Отказано в доступе))
Create new file: vybory2012_uik12345cam1_02_194605.ts
Возможно вы пытаетесь просмотреть или перекодировать создающийся файл, и сторонняя программа захватила монопольный доступ к нему. Дописывать в него стало невозможно.
Не занимайтесь ерундой. У вас ещё будет много времени. Идите на выборы. Пусть программа работает. Она попытается создать новый файл и записать в него. После возвращения доступа к каталогу запись продолжится в новый файл.

Не рассчитали место на диске, и оно закончилось


Будут появляться сообщения
Can't record segment: http://188.8.8.8/segment.ts?cid=9096138f-4687-11e2-bce6-048d7b47db12&var=orig&ts=1330775193.95-1330775209.01 (Недостаточно места на диске)
Can't open file: vybory2012_uik12345cam1_02_205522.ts(vybory2012_uik12345cam1_02_205522.ts (Недостаточно места на диске))
Creatе new file: vybory2012_uik12345cam1_02_205537.ts
Переместите какие-нибудь файлы на другой диск. При появлении свободного места запись продолжиться. Программу перезапускать не надо.

В названии создаваемых файлов время отстаёт на час


Данную проблему упоминали в Q&A. Ваш компьютер и время на нём не влияют. Время берётся из адреса получаемого сегмента (http://188.254.112.34/hls/09626089-641a-aaaa-aaaa-bcad28d07aaf/1474219952.75-1474219969.45.ts?input=ele-production). Последние два числа указывают на диапазон времени, в течение которого было записано это видео (где-то 15 секунд).

Программа замерла. Новые строки не появляются.


Программа продолжает работать. Она скачивает плейлист M3U со ссылками на сегменты, а там пусто.
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:1050
#EXT-X-TARGETDURATION:15
#EXT-X-ALLOW-CACHE:NO
Возможно, трансляцию приостановили до закрытия участков в Калининградской области. Возможно, проблемы с ПАКом. Можете перезапустить программу, если вам от этого легче станет.

Где ссылка «Скачать»?


А ссылка вот она: Скачать.
Исходный код: http://bitbucket.org/qwertovsky/webvybory2012recorder.

UPD 02_210900: Сайт снова обновили. Теперь вместо ip-адреса сервера можно видеть доменное имя вида 188-8-8-8.webvybory2012.ru. Его можно скармливать программе тоже.
Уже сейчас можно в своем городе наткнутся на работающие камеры.

UPD 03_1100: Программу уже надо доработать (в процессе). Следите за обновлениями.
Евгений Богер опубликовал список участков и id камер. В первом столбце этого списка находится id участка (в адресной строке браузера его можно увидеть). По нему легче искать. IP-адрес сервера и cid камеры указаны через пробел. Увидите.
Там же Евгений Богер дал ссылку на скрипт, которым, как я понял, он делал этот список.

rapkasta сообщил, что id камер находятся в файле webvybory2012.ru/account/channels?station_id=74747, где 74747 — id участка.
id участка можно увидеть в адресной строке браузера, когда вы открываете данный участок. Таким образом, вы можете запастись cidами, скачав файлы по таким ссылкам.

UPD 03_1530: Программа доработана. Доступна версия 1.1. Скачать
Статью поправил.
Обязательных входных параметров стало больше. Добавился параметр «Имя камеры». Это имя будет добавляться в наименование файла. Поэтому пишите без пробелов и без спецсимволов во избежание ошибок с файловой системой (например, uik12345cam1, где 12345 — id участка). По этому имени потом легче будет разбираться в записанном. Кроме этого, данный параметр исключит конфликт имен, если вы будете писать с разных камер в один каталог.

UPD 03_2100: Есть ошибка в работе через прокси без пароля. Выдаётся справка.
Временное решение — поставьте после порта двоеточие (например, 127.0.0.1:8080:).
Буду исправлять. Следите за обновлениями.

UPD 03_2200: Ошибка с прокси исправлена. Доступна версия 1.2.

UPD 04_0200: Голосование началось. Капчи, говорят, нет.

UPD 04_1500: Трансляция с восточных регионов, как и обещали, прекращена.

UPD 20120609: Запись выборов мэров в Красноярске и в Омске возможна.
Идентификаторы камер, которые опубликовал Евгений Богер, не актуальны. Используйте второй и третий способ получения ip и cid.

UPD 20160918: Поздно, но подправил программу для сайта webvyboryedg.ru. Ищите версию 1.3.
Валерий Квертовский @Qwertovsky
карма
42,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (153)

  • –1
    Конечно, не хватает портала распределения участков между пользователями.
    Но имхо всё равно это гиблая идея.
    Пока у нас самый честный суд в мире бесполезно что-то пытаться доказать.
    Да и сами камеры совсем не панацея — уверен, что уже разработали пяток способов сделать результаты относительно беспалевно.
    Ну хотя бы недавно замеченный сбор подписей на бланк под видом подтверждения ознакомления с работой вебкамер.
    • +3
      На Гракон'е можно зарегистрироваться веб-наблюдателем.
  • +3
    Даёшь статью про нанесение маскировочной раскраски чтобы не спалиться!
  • +3
    Надо бы запилить простейший гуй, иначе смогут записывать только гики
    • –2
      Если человек достанет cid из браузера, то с командной строкой точно справиться.
      • 0
        ну так гуй и должен достать cid из браузера
        • 0
          Я в javascript и во флешплейерах не разбираюсь. Если знаете, где он на странице зашит, или как запрашивается, говорите.
  • 0
    А запись с нескольких камер одновременно возможна?
    • 0
      Пока возможна
  • –4
    Есть только один минус — сохранение записи противоречит правилам пользования ресурса, хитрые сволочи все предусмотрели. А это значит, что противоправно (в данном случае) добытый матиал доказательством являться не будет. Более того — можно и по ушам получить за нарушение правил пользования в случае передачи этого материала в качестве доказательной базы.
    • +3
      Это для личных нужд.
      Если нужны будут материалы для предоставления в суд, можно будет официально запросить необходимый отрезок времени с определенного УИК.
      • –6
        После думских тоже предлагали несогласным идти в суд.
        Как Вы думаете, сколько дел было возбуждено? Правильно, ноль. Думаю, что здесь другого результата не будет.
        • +2
          Сколько то процентов успешно дошло до суда и сколько то даже вынесло положительные приговоры. Подавляющее большинство же было отклонено под предлогами:
          1. Отсутствия состава преступления (бюллетени сами случайно складывались в пачку при падании в урну).
          2. Неправильно заполненных копий протоколов, выданных наблюдателям (за что вообще-то председатель несёт ответственность, но всем по--).
          3. Видеозапись процесса правонарушения ВНЕЗАПНО не является доказательством того что правонарушение было.
          • +1
            Слежу за судами в нескольких регионах. Не слышал ни об одном положительном приговоре, ни о пересчетах украденных голосов.
            • 0
              нам дали техсредство (понимаю, что кривое, но все-тако техсредство), котрое может являться а может и не являться частью системы дистанционного контроля за голосованием.

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

              Но даже если этого нет видеозапись может подождать пока эта система появится.

              Напомню, что сам факт возможности записи является так-же доказательством наших (гражданского общества) достижений — практически мнгновенных, если считать их триггером события последних 3х месяцев.
              • 0
                Это шутка юмора такая что ли? Камеры не могут зафиксировать и сотой доли нарушений, и их очень легко блокировать или повредить технически — выключить, расфокусировать, направить в сторону и т.д. И прошедшие выборы это прекрасно показали. Считать их введение достижением может только ангажированный пропагандон.
        • +2
          С такой позиции можно просто сложить ручки и ничего не делать — ни на выборы не ходить, ни наблюдателем. Разговоры о «преступном режиме» так и остаются разговорами на кухнях, а доказательства — это доказательства. Именно наблюдатели на думских выборах показали, что нынешняя дума — нелегитимна. Да, суды все отклонили, но всем неангажированным людям видно, что мошенничество имело место именно с юридической стороны — самыми главными фальсификациями оказалось переписывание протоколов в ТИКах, и у наблюдателей остались юридические доказательства — копии протоколов с подписями и печатями.

          Осталось только доказать мошенничество на выборах президента, и можно спокойно требовать смены власти любым угодным вам способом — по Ганди или по Навальному.
        • +2
          Если не идти в суд, то тогда только на вилы… Так что для начала всё-таки я бы предложил в суд )
          • 0
            Есть и еще один способ: если в твоём комментарии слово «на» заменить на «за». Упаси господи, конечно, но если так будет продолжаться дальше, то эта власть в конце концов доведёт народ до того, что он возьмётся за вилы.
    • +1
      А вы никому не рассказывайте. Насколько я помню, после выборов вы вполне можете подать заявление на получение интересующего вас фрагмента, и вот он уже может являться доказательной базой. Осталось только решить, что доказывать и кому.
      • –6
        Да не дадут никому. Они тем временем снимают поджставные ролики о нарушениях
        lenta.ru/news/2012/03/02/motor/
    • –5
      Минусующим идиотам посвящается: не дай Бог вам столкнуться с нашим правосудием.
      Я всего лишь предупреждаю о том, что может быть использовано против вас.

      Ну или вы единоботы.
    • +1
      В целях правоприменения вы даже авторские материалы можете копировать.
      • 0
        Только в рамках уже заведенного уголовного или административного дела. Матчасть рулит.
  • 0
    Это круто. Проблема только в том, что в сети будет много фейковых роликов, они уже сейчас есть на ютюбе, в том числе снятые на те самые камеры, отличить фейк от настоящих будет непросто поэтому всегда можно сказать что любой ролик ложный, а настоящие записи будут давать только по заявлениям кандидатов и их штабов.
    • +2
      Большей наигранности, чем в этих роликах, я и не видел. Разве что в плохих сериалах российских каналов, типа «Детективы»
      • +2
        Немного оффтоп, но все же не только вбросы были массовым нарушением. Из опыта моей бабушки, которую позвали быть наблюдателем. Вброс был минимален, людей, которые вбрасывали, вывели коммуняги и набили им морду, но вот ребят, которые голосовали под угрозой невыплаты зарплаты, было тоже не мало и таких к сожалению на видео не отследить…
        Но я считаю, что установка камер, это большущий прогресс, как минимум, потому что все эти технологии в дальнейшем будут использоваться в других целях. Например интернет в регионах, где даже и не слышали это слово.
        • 0
          Как можно заставить голосовать за кого-то, угрожая невыплатой зарплаты? Как проверят?
          • +1
            Дадут телефон/мыльницу и попросят сфотать.
            • +1
              1) Берем цветные нитки (синюю, зеленую, красную, черную), на всякий случай, если вдруг сунут свою ручку.
              2) Кладем в виде галочки.
              3) Фотографируем.
              4) Голосуем за своего кандидата.
              6) Показываем фото.
              5) Profit.
              • +3
                1) Голосуем, как приказал начальник.
                2) Фотографируем.
                3) Расставляем галочки у других кандидатов, чтобы испортить бюллетень.
                4) Подходим к комиссии, заявляем о порче бюллетеня, получаем новый чистый бюллетень.
                5) Голосуем, согласно своему мнению.

                Просто мало кто знает, что он имеет право получить другой бюллетень, если первый испорчен.
          • +1
            Простые люди боятся и верят в угрозы типа «не смейте мухлевать, мы все проверим, кто и как проголосовал», поэтому реально голосуют как сказали, хотя можно было бы и тихо за другого…
    • 0
      Наверняка штабы будут запрашивать все записи с участков, которые будут заподозрены в фальсификации. Если копии не будут выдаваться или скажут, что тех сбой, то утеря или умышленная порча копии на сервере, будет являться прямым доказательством фальсификации на участке, ведь Ростелеком гарантирует, что все будет чики-пуки!
  • +3
    Мо-Ло-Дцы! Хоть кто-то что-то делает, а не пищит по углам о недопущении к информации и площади не делит.
  • +3
    Меня больше всего позабавил сам сайт webvybory2012.ru. Ну знаю, кто виноват — программисты или операторы, которые вводили данные об избирательных участках — но это явно был на редкость криворукий человек.

    Смотрю карту участков родного Екатеринбурга. Вот избирательный участок № 1386, адрес подписан «Россия, Свердловская область, Екатеринбург, улица Первомайская, 59». Всё правильно.

    Теперь спустимся на один квартал к югу, к проспекту Ленина. Избирательный участок № 612, адрес в всплывающей подписи: «Россия, республика Коми, Сыктывкар, улица Ленина, 87».

    Перейдем на один квартал к востоку по той же улице, через перекресток и железную дорогу. Участок № 1405, адрес: «Россия, Астраханская область, Астрахань, Кировский район, улица Ленина» (этот участок действительно относится к Кировскому району, но конечно же Екатеринбурга).

    Это было бы смешно, если бы не было так грустно…
    • НЛО прилетело и опубликовало эту надпись здесь
  • –5
    Только что наблюдал вот такое:
    Added new segment: 188-254-112-52.webvybory2012.ru/segment.ts?cid=722e587
    e-4b23-11e1-8a16-001999c6e5bc&var=orig&ts=1330712756.02-1330712771.08
    Can't get M3U file: 188-254-112-52.webvybory2012.ru/variant.m3u8?cid=722e
    587e-4b23-11e1-8a16-001999c6e5bc&var=orig
    Can't get M3U file: 188-254-112-52.webvybory2012.ru/variant.m3u8?cid=722e
    587e-4b23-11e1-8a16-001999c6e5bc&var=orig

    Пришлось перезапустить программу, чтобы заработало опять. Windows 7 x64, Java 6.31 x64. Вот, дамп какой-то получилось сделать:
    Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.6-b01 mixed mode):

    "Keep-Alive-Timer" daemon prio=8 tid=0x0000000005e17800 nid=0x2298 waiting on co
    ndition [0x000000000701f000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at sun.net.www.http.KeepAliveCache.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    "Thread-0" prio=6 tid=0x0000000005e16800 nid=0x2108 in Object.wait() [0x00000000
    0669f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ebac0188> (a ru.webvybory2012.record.Recorder)
    at java.lang.Object.wait(Object.java:485)
    at ru.webvybory2012.record.Recorder.record(Recorder.java:52)
    - locked <0x00000000ebac0188> (a ru.webvybory2012.record.Recorder)
    at ru.webvybory2012.record.Recorder.run(Recorder.java:40)

    "Low Memory Detector" daemon prio=6 tid=0x000000000052f800 nid=0x20d0 runnable [
    0x0000000000000000]
    java.lang.Thread.State: RUNNABLE

    "C2 CompilerThread1" daemon prio=10 tid=0x0000000005de7000 nid=0x2104 waiting on
    condition [0x0000000000000000]
    java.lang.Thread.State: RUNNABLE

    "C2 CompilerThread0" daemon prio=10 tid=0x0000000000528000 nid=0x210c waiting on
    condition [0x0000000000000000]
    java.lang.Thread.State: RUNNABLE

    "Attach Listener" daemon prio=10 tid=0x0000000000525000 nid=0x2110 runnable [0x0
    000000000000000]
    java.lang.Thread.State: RUNNABLE

    "Signal Dispatcher" daemon prio=10 tid=0x0000000000524000 nid=0x2114 waiting on
    condition [0x0000000000000000]
    java.lang.Thread.State: RUNNABLE

    "Finalizer" daemon prio=8 tid=0x0000000000510000 nid=0x2118 in Object.wait() [0x
    0000000005d9f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ebac04b0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    - locked <0x00000000ebac04b0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(Unknown Source)
    at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

    "Reference Handler" daemon prio=10 tid=0x0000000000507000 nid=0x211c in Object.w
    ait() [0x0000000005c9f000]
    java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000ebac0120> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
    - locked <0x00000000ebac0120> (a java.lang.ref.Reference$Lock)

    "main" prio=6 tid=0x000000000039b000 nid=0x230c waiting on condition [0x00000000
    0211f000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at ru.webvybory2012.record.Main.main(Main.java:167)

    "VM Thread" prio=10 tid=0x00000000004fe800 nid=0x2120 runnable

    "GC task thread#0 (ParallelGC)" prio=6 tid=0x000000000045e000 nid=0x22b0 runnabl
    e

    "GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000000460800 nid=0x1330 runnabl
    e

    "VM Periodic Task Thread" prio=10 tid=0x0000000005dfc000 nid=0x20fc waiting on c
    ondition

    JNI global references: 924

    Heap
    PSYoungGen total 19136K, used 8362K [0x00000000eaab0000, 0x00000000ec00000
    0, 0x0000000100000000)
    eden space 16448K, 48% used [0x00000000eaab0000,0x00000000eb2869b0,0x00000000e
    bac0000)
    from space 2688K, 12% used [0x00000000ebac0000,0x00000000ebb14010,0x00000000eb
    d60000)
    to space 2688K, 0% used [0x00000000ebd60000,0x00000000ebd60000,0x00000000ec0
    00000)
    PSOldGen total 43712K, used 0K [0x00000000c0000000, 0x00000000c2ab0000,
    0x00000000eaab0000)
    object space 43712K, 0% used [0x00000000c0000000,0x00000000c0000000,0x00000000
    c2ab0000)
    PSPermGen total 21248K, used 4715K [0x00000000bae00000, 0x00000000bc2c000
    0, 0x00000000c0000000)
    object space 21248K, 22% used [0x00000000bae00000,0x00000000bb29ae50,0x0000000
    0bc2c0000)
    • 0
      Ах, да, разумеется, в браузере при этом у меня всё показывалось.
    • +11
      Какая прелестная портянка и для чего придумали пастебины — не понятно, ведь так очень круто выглядит!
    • +4
      ох. вы бы еще до кучи всю директорию logs сюда запостили
  • +9
    Друзья, нужна ли статья о том, как быстро просматривать записанное видео?

    Скорее всего, будут записаны многие часы видео, преимущественно статичного. Мы же не хотим тратить много собственного времени, чтобы просмотреть и проанализировать это видео? Есть способ быстрого просмотра 100% длительности видео (с помощью avidemux, virtualdub или avisynth), при котором компьютер автоматически декодирует видео с максимальной возможной для него скоростью (10-20x реального времени), автоматически останавливаясь на кадрах, в которых замечено существенное движение. Если нужна инструкция, как устроить такой просмотр видео, дайте, пожалуйста, знать, и скиньте, пожалуйста, 1-3 примера записанного по данной инструкции видео, чтобы я мог потренироваться и выработать алгоритм.
    • +3
      люто реквестирую статью по автоматическому анализу видео на премет движения в кадре (а еще лучше — на движение в отдельных областях съемки)
      • +2
        У schitaytesami.org/ есть такое решение. Попробуйте связаться с ними.
        • 0
          Да, похоже все «уже сделано до нас» :) Думаю, раз уже есть такое удобное web-решение, статья, которую я замыслил, не актуальна. Ну и ладно, сделаю еще что-нибудь полезное.
        • 0
          А откуда этот линк, если не секрет? Что-то там только презентация, есть надежда что сервис заработает в ближайшие дни?
      • 0
        Почитайте про mjpeg. У него это встроено в формат по сути. Надо только задать порог. В другом случае надо просто вычислять Оптический поток. Не думаю что тут нужно расписывать на целую статью. Или нужно?
    • +1
      очень нужна! пригодится, пусть не в этот раз. напишите?
      • 0
        ОК, поставлю в план :)
  • +3
    А вывод капчи не помешает?
    • 0
      Вот-вот. Чувствую, включу утром запись, вернусь вечером, а там грусть-печаль из-за капчи. Проконтролировать физически не смогу…
  • 0
    Насколько я понимаю, запросы к серверу идут с указанием конкретного отрезка времени, который нужно закачать с сервера. Позволяет ли система «проматывать назад»? Т.е. есть ли теоретическая возможность загрузить архив за весь день позднее, чтобы не сидеть в 8 утра с кнопкой на курке?
    • 0
      Планировщик заданий используйте, создайте .bat файл и попросите компьютер запустить его в 8 утра по вашему местному времени.
      • 0
        Тем не менее, вопрос с возможностью «перемотки» открыт.

        Вопрос разработчикам скрипта: можно ли задавать произвольный интервал времени, или система отдает только те отрезки, которые посчитает нужным?
        • 0
          Файлы становятся недоступны уже через минуту после появления.
  • 0
    На заметку, может кому нужно диапазоны ip-адресов, на каждый ip берём маску класс C (пример: 188.254.112.2 это значит 188.254.112.1-255) видео будет на этой сетке по выбранному региону/городу.

    Москва
    msk-st.webvybory2012.ru
    188.254.112.2

    Санкт-Петербург
    sz-st.webvybory2012.ru
    188.254.111.2

    Юг
    yug-st.webvybory2012.ru
    188.254.114.2

    Урал
    ural-st.webvybory2012.ru
    188.254.115.2

    Волга
    volga-st.webvybory2012.ru
    188.254.116.34

    Сибирь
    sibir-st.webvybory2012.ru
    188.254.118.2

    Дальний восток
    dv-st.webvybory2012.ru
    188.254.120.2
    • 0
      Маски — это хорошо. Но проблема ещё в том, что видео конкретной камеры качается далеко не с любого сервера в диапазоне.
  • +1
    У меня, кстати, очень большие сомнения что в день выборов все это будет работать. Я в целом про сайт говорю.
  • –1
    В день голосования трансляция будет работать по другой схеме.

    ну после таких статей на популярных ресурсах конечно будет
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    К последнему примечанию: в списке Евгения Богера уже есть IP и cid для многих камер (видимо тех, которые подключены).

    Вот список самых трэшевых участков trash.crits.ru/vote/list.html

    Только нужно помнить, что жулики и воры перемешали номера участков после думских выборов, поэтому нужно проверять адреса — где были старые, и какой номер они сейчас имеют. Например, Темниковский УИК 577, где было 1380 (92%) за ЕР, расположенный по адресу г. Темников ул. Белинского, д.18 «А», физкультурно-оздоровительный комплекс, сейчас имеет номер 556: webvybory2012.ru/#9991

    Старый список УИКов Темниковского района: www.e-mordovia.ru/file/6207
    Новый список УИКов Темниковского района, принятый 10 января 2012: www.e-mordovia.ru/file/9109

    Чуровские выборы — это как кроличья нора Льюиса Кэррола — чем глубже в них погружаешься, тем сильнее ужасаешься масштабу.
  • 0
    Накидал bash скрипт для записи трансляции
    github.com/codeninja-ru/webvybory/blob/master/go.sh
    • 0
      Получается, что скрипт на полную мощность канала выкачивает доступные отрезки, потом снова и снова, пока через минуту ему не выдадут новый список отрезков?
      • 0
        Именно.
        При этом чанки лежат не на одном, а на нескольких серверах, и при падении одного сервера, можно успеть вытащить чанк с другого. В фурряфоксе откройте трансляцию с любого участка, в дереве DOM найдите объект d[1], там будут написаны все дублирующие сервера.
        • 0
          Ну надо хотя бы проверку — если отрезок уже есть, не качать его второй раз.
          • 0
            Каждый чанк содержит 15 секунд записи. Выдаются они по 4 штуки в единицу времени. Если дергать плейлист каждые 60 секунд, можно не проверять наличие данного отрезка.
            • 0
              Если сделать проверку на то, хорошо ли закачались все отрезки — то да, можно не проверять.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        От двух до четырех.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Дайте номер участка.
  • –1
    Чет не хочет
    Exception in thread «main» java.lang.NoClassDefFoundError: webvybory2012Record_1
    /1/JAR
    Caused by: java.lang.ClassNotFoundException: webvybory2012Record_1.1.JAR
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: webvybory2012Record_1.1.JAR. Program will exit.
    • 0
      java -jar webvybory2012Record_1.1.jar uik 188.8.8.8 4234345-…
      • 0
        спасибо, все заработало.
  • 0
    Надо бы ещё генерацию субтитров, в которых текущее время показывается.
    • 0
      время уже добавлено в кадр
      • 0
        UNIX-время неудобно. На моём участке его вообще невидно (синим по синиму)
  • +1
    webvybory2012.ru/#78218 — ох, запишите кто-нибудь это
    • +2
      Ололо, чувак с листиком на котором написано «sup /b/». Аноны такие аноны :)
    • 0
      Шикарно! Интересно, участники реалити шоу в курсе?
      • 0
        Может им позвонить, сказать?)
        • 0
          Кто-то уже позвонил. Трансляцию отключили(
  • 0
    У меня почему-то не создается файл (Windows 7 x64). Админские права есть. Папку создал новую.

    ip и cid совпадают и в Firebug и в табличке (ip_cid.xlsx)

    Пишу что я делаю:

    1) Запускаю cmd
    2) Пишу в нем cd d:\vybory
    3) Пишу java -jar d:\vybory\webvybory2012Record_1.1.jar uik1307urna 188.254.111.2 9db7ef90-4593-11e1-8def-047d7b2c8852
    4) Жму Enter
    5) В cmd пишется create vybory2012_uik1307urna_03_183145.ts
    Added new segment бла-бла-бла

    Но никакого файла в папке d:\vybory не создается. ЧЯДНТ?
    • 0
      Windows Server 2008R2 x64 запустил специально для Вас. Файл создаётся.
      • 0
        Видимо у меня особый случай. Пишется что файл создан — а его нет
      • 0
        Понял свою ошибку. Я брал номер участка не из URL, а фактический номер УИКа. Спасибо за программу. Надеюсь не поменяют ничего завтра.
  • +1
    Простейший bash скрипт (в виде одной строки), запускать по крону или в цикле примерно раз в 30 секунд (еще лучше подменяя IP каждые 10 секунд)

    IP=188.254.112.50; \
    CID=08ace5a8-46c5-11e1-be30-f0def1c2c06e; \
    wget -L  -O - "http://$IP/variant.m3u8?cid=$CID&&var=orig" 2> /dev/null | \
    grep segment | cut -d "&" -f 3 | cut -d "=" -f 2 | while read TS;do \
    wget -nc -O "$CID/$TS.mpeg" "http://$IP/segment.ts?cid=$CID&var=orig&ts=$TS" 2>/dev/null; \
    done


    Результатом будут короткие по 15 секунд файлы, сливать в один большой можно обычным копированием, или сделать m3u файл обычным ls.
  • 0
    Почему-то некоторые ИУ провоцируют ошибку благодаря которой приходится нажимать F5. Вот пример webvybory2012.ru/#8984
    И на кой чёрт они транслируют сегментами буквально по 10-20 секунд? Чтобы было тяжелее записывать?
  • +5
    1. Скачайте Java с сайта Java.com

    2. Зарегистрируйтесь на сайте webvybory2012.ru

    3. Выберите нужный вам участок, видео с которого будете записывать. В браузере он будет отображаться в ссылке webvybory2012.ru/#12345, где 12345 — это номер участка.

    4. Скачайте скрипт, который будет записывать видео
    git.qwertovsky.com/webvybory2012recorder/downloads/
    и там файл «webvybory2012Record_1.1.jar» или более позднюю версию.

    5. Далее необходимо выяснить адрес камеры и IP-адрес сервера вашего участка.
    Это делается таким образом:
    1. По адресу webvybory2012.ru/account/channels?station_id=12345 после «Id=» в этом адресе «12345» нужно заменить на адрес, который вы выяснили в пункте № 3.
    2. Перейдите по получившейся ссылке. При этом скачается файл «channels». Его нужно открыть в каком-либо текстовом редакторе. (Например – notepad или блокнот).
    Вы уведите сплошную строчку символов. Из этой строки нужно узнать два параметра:
    А) адрес камеры (он находится между знаком $ и первыми “ и будет иметь вид подобный следующему – «db58e3e2-4a69-11e1-8a16-001999c762e1».
    Б) адрес сервера (он находится между следующим за этими кавычками знаком и следующим таким же символом и будет иметь вид «188.ххх.хх.88»
    Таким образом вы получите адреса первой камеры. Адреса других камер определяются аналогичным образом, и они расположены дальше по этой же строчке (в этом файле «channels»).

    6. Далее необходимо создать в каком-либо текстовом редакторе файл, внутри которого должен быть строго такой текст:
    «java -jar webvybory2012Record_1.1.jar uik[номер участка][название получаемого файла] [адрес вашего сервера] [адрес вашей камеры]»
    Пример уже готового такого текста:
    java -jar webvybory2012Record_1.1.jar uik12345cam1 188.888.888.88 f944ecf4-4b2a-11e1-8a16-001999c6b1ba
    Внимание! Не сотрите случайно проблелы, которые должны быть!
    В Windows полученный файл необходимо сохранить с расширением .cmd, (например, recording.cmd) в ту же папку, в которой находится скрипт из пункта № 4.
    В Mac или Unix вместо файла .cmd следует запустить содержащийся в файле тест из терминала (командной строки).

    7. Необходимо запустить полученный cmd-файл. В этой папке (с файлом и скриптом) должен появиться видео-файл с расширением .ts, который будет постоянно увеличиваться в размерах в соответствии с поступлением в него нового видео-потока каждые 60 секунд, и который можно будет потом воспроизвести стандартными медиа-плеерами. Через каждые 60 минут записи в папке будет появляться новый файл. Т.е. длительность видеозаписи в файлах будет по 60 минут, а ёмкость каждого файла – ~ 50 Мб.
    Окно с cmd файлом (в Win) или терминалом (в MacOS и Unix) необходимо оставить открытым на весь период записи.

    8. Чтобы остановить запись, необходимо просто закрыть cmd-файл.
    • 0
      Подскажите, плз, как потом все файлы в один склеить?
  • +2
    Упрощение пункта 5, чтобы не заморачиваться со скачиваниями файлов и так далее. Откройте Firebug или аналогичный инструмент. Напишите в консоли CorePlayer.url, нажмите ентер. Вернется что-то вида
    "http://188-254-112-53.webvybory2012.ru/master.m3u8?cid=db58e3e2-4a69-11e1-8a16-001999c762e1"
    Это адрес м3ушки текущей камеры.
  • 0
    Без номеров уиков богеровский список малополезен, к сожалению.
    • 0
      Богеровский список содержит столбцы:
      1. id участка в системе,
      2. Адрес
      3. Номер УИКа в регионе,
      4. IP cid первой камеры,
      5. IP cid второй камеры.
      Вам нужен третий столбец.
  • 0
    Голосование началось, видео пишется, капчи не обнаружено
    • 0
      Капча только в браузере будет появляться, главное чтоб id камеры внезапно не поменяли.
    • 0
      Про не более трех участков на каждого зарегистрированного пользователя — нас обманули. Внёс в «Мои закладки» четыре избирательных участка, переключаюсь между ними, всё показывает.
  • 0
    Ребят, а нельзя из этого кода сделать как нить локал прокси — чтобы настроить VLC на статический URL?

    тогда смотреть/писать смогут не гики
    • 0
      Поставьте последним параметром число 1500.
      За весь день будет один файл. Параллельно открывайте в VLC и смотрите. VLC это позволяет.
      • 0
        спасибо…

        блин последняя ночь и все как всегда через одно место.
        было бы конечно очень круто получить g-doc с урлами.
  • 0
    Объясните дураку, Вот создался файл vybory2012_uik1735cam1_04_063526.ts, после часа записи (дописался до 72Мб) пытаюсь его посмотреть стандартным в ubuntu Видеопроигрывателем Totem 3.0.1. Проигрыватель ошибок не выдает, ни какого видео не показывает. В какой программе можно просматривать эти пакеты, и не являются ли мои записи испорченными?
    • 0
      Именно не показывает видео, или просто черная картинка?
      • 0
        Именно не показывает, как если открыть любой другой не видео файл.
    • 0
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Удалил пример.
    • +1
      Поставьте vlc, все отлично играется, даже попробовал поток вещать — удалось.

      sudo apt-get update
      sudo apt-get install vlc vlc-plugin-pulse
  • 0
    Как составить команды для запуска записи с нескольких участков используя таблицу с адресами камерформула для опенофиса:

    =CONCATENATE("java -jar ./webvybory2012Record_1.2.jar НЕКИЙ_ПРЕФИКС";ЯЧЕЙКА_С_НОМЕРОМ_УЧАСТКА;"_";ЯЧЕЙКА_С_НОМЕРОМ_СТРОКИ;"_НОМЕР_КАМЕРЫ ";ЯЧЕЙКА_С_ip_И_uid; " &")

    Пример:
    =CONCATENATE("java -jar ./webvybory2012Record_1.2.jar z";C11;"_";A11;"_2 ";E11; " &")

    Результат:
    java -jar ./webvybory2012Record_1.2.jar z132_40425_2 188.254.111.2 e71f140e-454f-11e1-8daf-047d7b18bdd4 &
    • +1
      еще не хватает «screen -dmAS »; ЯЧЕЙКА_С_НОМЕРОМ_УЧАСТКА; ЯЧЕЙКА_С_НОМЕРОМ_КАМЕРЫ;" java -jar..."
  • 0
    Эх, жаль под cocoa не работает, хотел свою Synology NAS подрядить на запись, а там выбор Java-машин невелик. Cocoa — единственная, под которой запустилась. Но выдаёт Null pointer exception.
    Тем не менее спасибо, буду пытаться писать на ноут.
    • 0
      Опечатался — не cocoa, а cacao конечно же.
      Ну и вот уж тогда дамп, хотя он вряд ли пригодится:

      java -jar /volume1/public/webvybory2012Record_1.2.jar UIK766Urn 188.254.112.20 d37832ba-458a-11e1-b1f7-f0def1c0f80b
      Exception in thread «main» java.lang.NullPointerException
      at java.util.regex.Matcher.toMatchResult(Matcher.java:606)
      at java.util.Scanner.myCoreNext(Scanner.java:1706)
      at java.util.Scanner.myPrepareForNext(Scanner.java:2182)
      at java.util.Scanner.myNextLine(Scanner.java:2092)
      at java.util.Scanner.hasNextLine(Scanner.java:781)
      at ru.webvybory2012.record.Main.main(Main.java:153)
  • 0
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Пишу 15 потоков. Поймал карусульщиков Чечне — одни и теже люди голосуют по нескольку раз.
      • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Покажите?
  • 0
    Собрали сервис на коленке.
    Выложили полную инструкцию и сделали генерацию кодов запуска из бд, через форму.
  • 0
    Проверьте, кто-нибудь, плз, участок 1690 — есть видео? У меня почему-то перестало показываться (ну и записываться, соответственно).
    • 0
      Написал им вопрос в поддержку, указал номер участка — попросили написать им адрес этого участка, хе :). А видео через какое-то время появилось.
  • 0
    все 8 часов. В Астрахани отрубили все трансляции (
    • 0
      В Волгограде только что включили. Проверьте.
      • 0
        Да выключили на час. Затем в 9 начали вещать в режиме он-лайн. После, в 10 включили запись которая должна была идти с 8 до 9. Бред.
        • 0
          Кто-нибудь увидел зачитывание протоколов? У меня на участке, даже подсчет не завершился.
          • 0
            Программа отказывается писать сегмент, который идет раньше, чем уже записанный. Поэтому программа встала.
          • 0
            Из 4 участков, которые пишу на одном заскриншотил протокол. На одном зачитали спрятавшись за колонной. На двух участках еще подсчет. Непосредственно на моем считает только председатель, делая это очень медленно, пытаясь отвязаться от дотошных наблюдателей.
      • 0
        Точно, 7 камер с которых я писал — отключились, а щас включились. Пишу дальше…
  • 0
    Автору спасибо!
    Я был наблюдателем, и записал все со своего участка, поставил в cron задачу на начало работы участка.
    Единственное, записалось все до 18.00 (примерно) по местному времени (Улан-Удэ).
    Писал с двух независимых серверов, запись остановилась у них одновременно.
    Логи об ошибках не писал.
  • 0
    Есть записи из Дагестана и КБР?

    Судя по всему самая жесть была там. Чечня почти образцово-показательно голосовала.
  • 0
    Ну так что теперь будем делать с записями? Записал 13,5 Гб с семи камер.
    Хотелось бы удобный инструмент для их просмотра — подсчета явки, поиска вбросов и т.д.
    • 0
      Зачем?
    • 0
      Для начала их надо бы как то склеить… А то 15 видео файлов на одну камеру — это слишком…
      • 0
        Можно использовать обычную файловую склеивалку. Т.е. следующий файл пишется в конец предыдущего.
        • 0
          Не все так просто. Там в разрывах могут быть (и скорее всего есть) пропуски. Подойдейт ли для дальнейшей обработки видео файлы в которых пропущены секунды или даже минуты? Не понятно.

          Кстати пора подумать как выкачать сохраненное видео в максимальном качестве. На одной из моих камер, к примеру, есть даже более длительные пропуски, видимо из-за того что интернет в изб. участке отключался.
          (А Ростелеком обещал что сервера получат всё видео полностью в течении пары дней после выборов)

          Мне кажется что можно попробовать в наглую указать необходимый unix-time прямо в URL:
          segment.ts?cid=<....>&var=orig&ts=1330670464.03-1330670479.10

    • 0
      А теперь Ручками и глазками))
  • +1
    Программа отработала отлично. Писал с 18 камер.
    Что теперь с этим делать, незнаю)))
    • 0
      Аналогично. Залил пока всё на youtube ;).
      Он, кстати, считает, что мое видео содержит музыкальные композиции, права на которые принадлежат EMI Music Publishing, Sony и т.д. ))
  • 0
    Спасибо за программу! На моем участке к после оглашения результатов на камеру добавили еще 400 голосов, известно кому. Теперь отправил все в СМИ.
    • 0
      А где опубликованы результаты по конкретным уик-ам, тик-ам?
  • 0
    У кого-нибудь есть видео с ИУ №2589 ссылка на камеры webvybory2012.ru/#122898?

    Будет где-нибудь ресурс с записанными видео?
    • 0
      Пишут, что на госуслугах можно заказать необходимое видео.
    • 0
      На госуслугах, но только по депутатскому запорсу. Так что черни это будет недоступно(
  • 0
    Спасибо. Записал 11 участков от начала и до конца. Один успел просмотреть, количество подошедших к урне не сходится с официальным количеством бюллетеней более, чем на 500.
    Думаю, что с этим теперь делать.
    • +1
      На schitaytesami.org просят выкладывать видео для анализа:

      Пожалуйста, загружайте записи с веб-камер на narod.ru и присылайте ссылку на schitaytesami@gmail.com. В регламенте ЦИК запрета на распространение видео нет.
  • 0
    Записал видео с 14 участков, выложит торрентом
    • 0
      Чем вы их склеивали? Вы же не пережимали? У меня все склеивалки сходили с ума при > 8 часов материала, только tsMuxeR справился, но он не очень удобен (да и заброшен).
  • 0
    Надо нам всем как-то организоваться — централизованно подать, чтобы люди могли легко найти и отсмотреть материал. Хотя бы тегом на youtube (RusElect2012, webvybory2012? Словом, что-то короткое, понятное, но точно идентифицируещее).

    У меня почти 300 часов материала с 10 участков (выбирал одни из самых подозрительных по результатам декабрьских видео: Чечня, Дагестан, Осетия, Владимир, остальное СПб). Просмотреть одному — нереально. Склеил и выложил на youtube (там ограничение в 12 часов на ролик, так что большинство порезано на 2 части).
  • +2
    Написал статью о сведении видео с двух камер.
    • 0
      Так ведь куски не факт что сойдутся по времени. Вы проверяли целый день?
  • 0
    Запрос на госуслугах: epgu.gosuslugi.ru/pgu/service/-10000000413_413.html#_description
    Можно запрашивать только отрезками по полчаса. Вроде бы количество отрезков не ограничено.
    Нужно указать документ, удостоверяющий личность.

    Забываю сказать спасибо автору скрипта: ОГРОМНОЕ СПАСИБО!
  • 0
    Запись выборов мэров в Красноярске и в Омске возможна.
    Идентификаторы камер, которые опубликовал Евгений Богер, не актуальны. Используйте второй и третий способ получения ip и cid.
    Есть скрипт для сбора ip_cid для Python. Теоретически должен работать.

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