Электронное правительство / Программа для записи трансляции с webvybory2012.ru (Java)

в 15:00, , рубрики: java, выборы, метки: ,

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

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

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

Бла-бла-бла. Как пользоваться то?

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

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

Электронное правительство / Программа для записи трансляции с webvybory2012.ru (Java)
Электронное правительство / Программа для записи трансляции с webvybory2012.ru (Java)

Электронное правительство / Программа для записи трансляции с webvybory2012.ru (Java)

Требуются два параметра: ip-адрес сервера (например, 188.8.8.8) и id камеры (например, 9096138f-4687-11e2-bce6-048d7b47db12).

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

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

Запустить программу из командной строки:

	java -jar webvybory2012Record.jar 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 

В случае неправильного указания параметров будут показаны примеры

Identify at least 2 parameters: server ip and camera id (cid) Examples: 	java -jar webvybory2012Record.jar 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 	With proxy: 		java -jar webvybory2012Record.jar 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 -proxy 127.0.0.1:8080 	Identify file length in minutes (default 60) 		java -jar webvybory2012Record.jar 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 60 		java -jar webvybory2012Record.jar 188.8.8.8 9096138f-4687-11e2-bce6-048d7b47db12 -proxy 127.0.0.1:8080 60 

После запуска программы будут появляться строки

Create new file: vybory2012_02_094048.ts Added new segment: http://188.8.8.8/segment.ts?cid=9096138f-4687-11e2-bce6-048d7b47db12&var=orig&ts=1330670448.97-1330670464.03 Added new segment: http://188.8.8.8/segment.ts?cid=9096138f-4687-11e2-bce6-048d7b47db12&var=orig&ts=1330670464.03-1330670479.10 

В каталоге с программой создадутся файлы следующего формата

webvybory2012_<день>_<часыминутысекунды>.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_02_194048.ts(vybory2012_02_194048.ts (Отказано в доступе)) Create new file: vybory2012_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_02_205522.ts(vybory2012_02_205522.ts (Недостаточно места на диске)) Creatе new file: vybory2012_02_205537.ts 

Переместите какие-нибудь файлы на другой диск. При появлении свободного места запись продолжиться. Программу перезапускать не надо.

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

Данную проблему упоминали в Q&A. Ваш компьютер и время на нём не влияют. Время берётся из адреса получаемого сегмента (http://188.8.8.8/segment.ts?cid=9096138f-4687-11e2-bce6-048d7b47db12&var=orig&ts=1330775193.95-1330775209.01). Последние два числа указывают на диапазон времени, в течение которого было записано это видео (где-то 15 секунд).

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

Вот она: webvybory2012Record.jar.
Исходный код: http://bitbucket.org/qwertovsky/webvybory2012recorder.

Автор: Qwertovsky

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js