Система видеотрансляции и учебный архив

advertisement
Система видеотрансляции и учебный архив.
Введение
Обучение специалиста любой отрасли немыслимо без практических занятий по изучаемой
дисциплине. И профессия юриста – не исключение. Однако в вузах знакомство с судебной
системой, следственными органами, прокуратурой порой носит поверхностный характер и
ограничивается экскурсиями и прохождением ознакомительной, производственной и
преддипломной практики в организациях и на предприятиях. А поскольку местом, где все
юридические споры находят свое окончательное разрешение, является именно суд, то,
очевидно, что нет ничего лучшего знакомства с судебным процессом изнутри. Всевозможные
телевизионные судебные шоу не дают полного представления о том, как должно вестись
разбирательство. Нередко они формируют ложное представление о ходе процесса, о том, какие
действия должны предпринимать истец и ответчик, подсудимый и потерпевший, свидетели. Как
на самом деле проводится судебное слушание, какие необходимые процессуальные элементы
должны соблюдаться? – об этом студенты-правоведы могут узнать благодаря видеотрансляции
судебных заседаний.
С предложением организовать видеотрансляцию для студентов в Липецкий областной суд
обратились представители Липецкого государственного технического университета, один из
факультетов которого выпускает юристов. После того, как их предложение было рассмотрено и
признано полезным, отдел информатизации приступил к технической реализации проекта.
Современные технологии позволяют студентам, находящимся в учебной аудитории, видеть и
слышать, что происходит в этот же момент времени в зале судебного заседания. При этом
преподаватель может свободно комментировать происходящее, а участники процесса не
отвлекаются на студентов.
Ещё одним возможным назначением подобной системы может стать интернет-трансляция
открытых судебных заседаний средствами массовой информации. За организацию подобных
трансляций в рамках улучшения открытости судебной системы неоднократно выступал
Президент Российской Федерации Владимир Путин.
Подробности технической реализации
Одним из основных требований при проектировании комплекса были минимальные
денежные вложения. Поэтому предпочтение отдавалось свободному программному
обеспечению и использованию имеющегося оборудования. Так в качестве сервера был
использован уже имеющийся не очень новый сервер HP ProLiant ML350 G4p.
При выборе типа камер рассматривался вариант использования более дешевых аналоговых
камер. Но так как они требуют дополнительного устройства видеозахвата и кодировки, а также
проведения дополнительных кабелей от этого устройства до камер в залах судебных заседаний,
то от этого варианта было решено отказаться в пользу сетевых IP-камер. В пользу
использования IP-камер говорят следующие их плюсы:

Использование для передачи информации уже имеющуюся СКС суда

Вывод аудио-видео потока в необходимом формате для дальнейшей трансляции
без необходимости дополнительной перекодировки

Легкая масштабируемость. Добавление камер в систему не требует
дополнительных затрат

Легкость настройки и управления камерами.
Используемый медиасервер (ErlyVideo) предъявляет следующие требования форматам
исходного потока: видеокодек — H.264 (MPEG-4 Part 10) и аудиокодек — AAC (Advanced Audio
Codec).
В качестве видеокамеры была выбрана IP-камера Axis P3344, которая удовлетворяет всем
исходным требованиям, а также отличается высоким качеством картинки и способна выдавать
изображение разрешением до 720p (1280x720). Камера отдаёт RTSP поток с видео, сжатым
кодеками H.264 и звуком в формате AAC, что отлично подходит для наших целей. Для
получения качественного звука на микрофонный вход камеры подается сигнал с микшера
системы звукозаписи «Фемида».
Итак, подводя итог, в состав комплекса входит следующее оборудование:
1. Сервер ProLiant ML350 G4p
2. IP-камера Axis P3344
3. Активное и пассивное сетевое оборудование
Как уже упоминалось, предпочтение при выборе программного обеспечения отдавалось
бесплатным вариантам, поэтому на сервере используется операционная система Linux Ubuntu
10.04.3 x64 и включает в себя следующие основные компоненты (в скобках указаны
используемые лицензии):
 WEB-сервер Apache2 (Apache License, Version 2.0)

PHP 5.3 (PHP License v3.01)

MySQL 5.1 (GPL)

VLC Media player (GPL)

Медиасервер ErlyVideo (GPL)
Целью работы данного комплекса является предоставление возможности авторизованному
пользователю наблюдать в окне своего интернет-браузера за проведением судебного заседания.
На данный момент поддерживаются последние версии FireFox 7+, Opera 10+ , Chrome 15+, а
также Internet Explorer 8 и 9. Работа в предыдущих версиях браузеров возможна, но не
проверялась.
Для реализации этой цели было написано WEB-приложение c пользовательским
интерфейсом на HTML+CSS+Javascript(JQuery) и серверной частью на PHP с использованием
так называемого фреймворка (framework) CodeIgniter 2.0. Так как нагрузка на базу данных
незначительна, то было принято решение использовать наиболее популярную в связке с PHP
СУБД MySQL. В базе хранятся некоторые настройки системы, а также расписание трансляций
и записи.
На данный момент комплекс решает три основные задачи: видеотрансляция в реальном
времени, запись судебных заседаний и учебный архив. Рассмотрим подробнее реализацию
решения каждой из задач.
1.Видеотрансляция
Для отображения трансляции было решено использовать технологию Adobe Flash, так как
FlashPlayer установлен у подавляющего числа пользователей, а его установка в случае
необходимости не вызывает затруднений. Для передачи потокового видео компанией Adobe был
разработан специальный протокол RTMP (Real Time Messaging Protocol – Протокол передачи
сообщений в реальном времени). Для проведения трансляции с использованием данного
протокола нужна специальная программа: медиасервер. Компания Adobe предлагает
использовать их продукт Flash Media Server, стоимость которого в зависимости от редакции
составляет от 995 до 4500 долларов США, что совершенно не удовлетворяет нашему
требованию о минимальной стоимости системы. К счастью есть альтернативные серверы такие
как Wowza Media Server (тоже платный, стоимость примерно 995 долларов США), а также
бесплатные аналоги такие как Red5 и российский проект ErlyVideo. Последний и был выбран,
так как полностью удовлетворяет следующим требованиям:

бесплатный в базовой версии,

умеет осуществлять трансляцию в необходимом формате,

имеет механизмы аутентификации и авторизации пользователей.
Для непосредственного отображения трансляции в браузере пользователей была выбрана
бесплатная версия проигрывается FlowPlayer.
Рассмотрим интерфейс трансляции (рис. 1).
Рис. 1. Интерфейс оператора видеотрансляции
На рисунке изображен вариант интерфейса доступный оператору трансляции. Интерфейс
можно разделить на следующие зоны (выделены на рисунке красными прямоугольниками):
1. Название трансляции.
2. Выпадающий список для выбора камеры в нужном зале.
3. Панель остановки трансляции и вывода сообщений. Если по какой-либо причине
необходимо досрочно приостановить трансляцию, то можно воспользоваться красной
кнопкой с этой панели. Синяя кнопка служит для отправки сообщений зрителям.
Сообщения выводятся в зоне 8.
4. Календарь ближайших трансляций. Здесь показывается расписание трансляций на
ближайшие два месяца.
5. Непосредственно само видео, воспроизводимое при помощи FlowPlayer
6. Панель со списком зрителей трансляции
7. Описание трансляции. Более подробное описание того, что будет показываться.
8. Панель вывода событий и сообщений. Сюда выводятся сообщения посылаемые
оператором при помощи кнопок панели 3.
Для обычного зрителя это выглядит так же, но недоступны панели 3 и 6.
От камеры до пользователя аудио-видео поток преобразуется следующим образом:
IP-камера — RTSP (H.264 + AAC) → VLC — MPEG TS (H.264 + AAC) → ErlyVideo — RTMP
(H.264 + AAC) → FlowPlayer
Рис. 2. Схема работы системы видеотрансляции
Немаловажным требованием к комплексу является безопасность. Доступ к трансляции
имеют только зарегистрированные и авторизованные пользователи. Авторизация
осуществляется по логину и паролю. Авторизация требуется как для доступа к странице с
плеером, так и для просмотра RTMP потока. Для авторизации RTMP потока, при каждом начале
воспроизведения проигрыватель передает медиасерверу специальное сообщение, в котором
зашифрован с помощью механизма ЭЦП идентификатор пользователя и идентификатор
трансляции. Для этого идентификатора осуществляется проверка в базе данных прав данного
пользователя на просмотр конкретной трансляции.
К сожалению, работать по зашифрованному протоколу RTMPS или RTMPE умеет только
Flash Media Server, от использования которого мы были вынуждены отказаться в связи с
большой стоимостью такого решения. В связи с этим передача потока от сервера до клиента
никак не зашифрована. Поэтому система может быть уязвима для атаки типа «Человек
посередине», когда трафик между сервером и авторизованным клиентом может
перехватываться. Для защиты от перехвата такого типа можно использовать зашифрованные
VPN тоннели от клиента до сервера. Необходимость реализации защиты этого уровня пока
обсуждается.
Существует также способ предоставить доступ к просмотру конкретного заседания без
необходимости авторизации. Для этого для каждого заседания генерируется уникальный ключ,
который передается в виде специальной ссылки зрителю. Ключ представляет собой хэш длиной
в 40 символов, полученный по алгоритму sha1 (Secure Hash Algorithm 1) от случайной строки
достаточной длины, что достаточно надёжно защищает от возможного подбора
злоумышленником. Использование данного механизма позволит в будущем предоставлять
доступ к просмотру видеотрансляции участникам процесса, которые не могут непосредственно
присутствовать на заседании, а также организовать открытую трансляцию для неограниченного
круга зрителей.
Для работы системы необходима возможность вести расписание трансляций и записи. Для
оператора системы разработан специальный интерфейс для управления расписанием
трансляций и записи (рис. 3), в котором оператор может планировать новые трансляции
изменять уже запланированные, а также управлять расписанием записи судебных заседаний.
Трансляцию можно запланировать на конкретное время выбранного дня.
Рис. 3. Интерфейс работы с расписанием
Расписание управляет запуском VLC в режиме ретрансляции или записи. Каждую минуту
на сервере запускается скрипт, который, согласно расписанию, запускает и останавливает
процессы VLC.
2.Запись
Ещё одной функцией комплекса является возможность не только трансляции, но и записи
судебных заседаний. Этой задачей так же занимается упомянутый ранее VLC. Записанные
заседания впоследствии могут быть отредактированы и помещены в учебный архив, о котором
подробнее расскажем ниже. Планирование расписания записи происходит в том же интерфейсе,
что и планирование расписания трансляций. События записи на календаре отличаются от
трансляций по цвету. Записать можно как единичное событие, так и создать повторяющееся
расписание. Например, записывать заседания в первом зале каждую неделю по вторникам и
четвергам с 10:00 до 12:30.
Для редактора записей также есть свой собственный интерфейс (рис. 4), при помощи
которого он может просмотреть конкретные записи, скачать необходимые записи на свой
компьютер, а также удалить ненужные записи.
Доступ к каждой функции управления задается отдельно для каждого пользователя.
Например, один человек может управлять расписанием, но не может просматривать записи, а
другой имеет доступ к записям, но не может смотреть трансляции и управлять расписанием.
Рис. 4. Интерфейс редактора видеозаписей
Запись осуществляется в контейнер FLV удобный для последующего воспроизведения при
помощи того же FlowPlayer, что используется для воспроизведения трансляции.
3.Учебный архив
Так как изначально комплекс разрабатывался для учащихся по специальности
юриспруденция Липецкого государственного технического университета, было принято
решение дополнить комплекс электронным архивом, в котором могла бы находиться
информация по характерным делам.
Архив позволяет собрать поместить всю информацию по конкретному делу в одном месте.
Каждое дело в архиве представляет собой текстовое описание, а также неограниченное
количество дополнительных материалов, таких как: протоколы заседаний, электронные версии
определений и других документов, отредактированные записи судебных заседаний, а также
любые другие файлы, которые могут иметь ценность в процессе обучения.
Заключение.
Изначально система проектировалась для предоставления доступа к просмотру заседаний
небольшому кругу лиц в образовательных целях. В связи с этим много внимания уделялось
вопросам авторизации и разграничения доступа, а также компонентам записи и работы с
архивом заседаний. В данный момент более востребованным оказался именно компонент
трансляции для неограниченного круга лиц.
Работа системы для прямой трансляции судебного заседания была испытана 4 сентября
2012 года совместно с популярным информационным интернет-ресурсом «GOROD48.RU»,
который обеспечивал ретрансляцию потока, а также осуществлял информационную поддержку
события. Вынесение приговора заняло примерно 3,5 часа. За это время сбоев в работе системы
замечено не было. По данным технической службы «GOROD48.RU» на протяжении всей
трансляции было постоянно подключено около 400 зрителей с пиковыми нагрузками до 2000
зрителей, что показывает интерес общества к работе судебной системы. В связи с этим
планируется увеличить количество камер в залах судебных заседаний, а также проводить такие
трансляции регулярно своими силами. Мы планируем модернизировать систему, распределив
вещание на несколько серверов с балансировкой нагрузки. Это необходимо для обеспечения
нормальной работы системы для нескольких сотен зрителей. Поскольку видеотрансляция
судебных заседаний оказалась интересна липецким интернет-пользователям, мы планируем
продолжать сотрудничество со средствами массовой информации в данном направлении,
предоставляя им возможность организовывать он-лайн трансляции из залов судебных
заседаний, обеспечивая прозрачность и гласность работы судебной системы нашего региона.
Гуляев Николай Юрьевич - заместитель начальника отдела судебной
статистики и правовой информатизации Липецкого областного суда.
Download