IamFlex@gmail.com
   ДонНТУ    Портал магистров    Алейкин Евгений Валерьевич
Автореферат

me

Разработка методов контроля и перераспределения видео-потоков

Алейкин Е.В.





Введение

      Разрабатываемая система обеспечивает возможность многоканальной записи видео и звука и замедленного повтора при трансляции спортивных и других зрелищных мероприятий в прямом эфире.

      Запись видеосигнала по каждому каналу (камере) ведется системой непрерывно с момента ее инициализации.

      Оператор во время непрерывного процесса записи по всем каналам отмечает начало интересного, с его точки зрения, сюжета. Затем одним нажатием кнопки он выбирает канал, с которого будет показан замедленный повтор, – и сюжет готов для показа. При этом есть возможность редактирования начала сюжета: можно «передвинуться» вперед или назад на любое количество кадров для того, чтобы точно выбрать момент, с которого будет показан повтор. При этом процесс записи со всех каналов не прерывается. Все отмеченные сюжеты отображаются в списке событий и готовы для повтора в любой момент.

      Записанная информация запоминается в хранилищах и после окончания трансляции доступна для любых действий: показа, редактирования и записи на различные носители.

      Задержка между событием и его повтором минимальна. Это дает возможность оператору заметить событие и начать его повтор меньше, чем через две секунды после его начала. Начальная задержка выставляется с учетом времени реакции оператора.

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

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

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

      Управление системой возможно с помощью клавиатуры, мыши. Все эти операции система производит, не прерывая процесса записи всей трансляции.

      Непосредственно в процессе работы можно редактировать отмеченные события, меняя тип события, его имя, номер камеры, стартовое время и длительность. После игры можно оперативно просмотреть все отредактированные события, добавить новые события и составить плей-лист для воспроизведения целиком всей игры или наиболее интересных моментов. При этом в плей-лист можно вставить различные ролики, например, спонсорскую рекламу.       Программа позволяет показать на нескольких дорожках изображения сразу со всех камер, записанных по ходу игры. Просматривая все камеры, можно быстро выбрать лучший ракурс, указать интервал времени и имя для последующего воспроизведения в плей-листе. Здесь же отображаются события, отмеченные оператором, причем события разного типа отображаются разным цветом. Из отмеченных фрагментов можно составить плей-лист. В этот же плей-лист можно вставить ролики (файлы формата AVI или MPEG2).

      Система функционирует на базе PC, под управлением ОС Windows XP/Vista.



Актуальность темы

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

      Замедленное воспроизведение позволяет существенно повысить эмоциональное воздействие на зрителя и дает аудитории массу дополнительной информации, скрытой при воспроизведении с нормальной скоростью. То, что ранее было недоступно человеческому глазу, стало доступно при помощи замедленного воспроизведения. В ответ на требования рынка различные компании - производители ТВ-оборудования разработали системы, обеспечивающие замедленное воспроизведение во время трансляций.



Цели и задачи

      Целью данной работы является разработка полнофункционального сервера видео повторов.

      Для достижения данной цели решаются такие задачи:

  • рассмотрение и исследование данной области и существующих систем серверов повторов;
  • анализ методов захвата видео с устройств;
  • исследование технологии DirectShow;
  • анализ аппаратного комплекса необходимого для функциональности приложения.
  • разработка концепции;
  • составление плана и технических требований на разработку программного обеспечения сервера;

      Начальный вариант приложения будет позволять работать с различными видео устройствами. Однако предполагается коммутация с видео камерами работающие через интерфейс FireWire(IEEE 1394). Таким образом, на данном этапе развития программного комплекса, полностью поддерживается формат DV (Digital Video). Для коммутации с ПК используется плата с разъемом типа IEEE 1394.

      Первичное тестирование приложения проводилось при работе трех камер соединенных с ПК через одну плату с тремя разъемами IEEE 1394. В перспективе добавить поддержку работы с высококачественным декомпрессированным видео (HD). Благодаря этому применение возможно при прямых трансляциях в формате HDTV (High definition TV).

      Программное обеспечение сервера реализуется на языке С++ в среде Visual Studio 2005.



Реализация

      Данная система реализовывается для функционирования под управлением ОС Windows XP/Vista. ОС Windows предоставляет все необходимые средства для работы как с мультимедийными устройствами так и для обработки поступающих данных, а именно библиотеку DirectX и технологию DirectShow. Средствами DirectShow очень просто реализовать подобное приложение однако с очень ограниченной функциональностью. Это действительно просто. Однако стоит чуть усложнить задачу и появляются новые сложности. Можно привести такой пример: DirectShow предоставляет некоторую базу - "кирпичики" и если сложить их вместе - получается функционирующая система. Однако эти самые "кирпичики" - это только базовая функциональность. Многих необходимых "кирпичиков" нет. Их необходимо реализовывать самостоятельно. Это не вносило бы столь большой сложности в разработку, если бы этот процесс был хорошо описан и документирован. Основной источник информации - это документация по DirectShow от Microsoft (DirectShow SDK). Книг и статей на данную тематику существует весьма ограниченное колличество, а значительная часть информации получается от изучения исходников в DirectShow SDK.

      Разрабытываемая структуа ядра представляет собой набор графов (в терминах DirectShow) для реализации той или иной функциональности. Граф в DirectShow - это совокупность связанных между собой фильтров, каждый из которых отвечает за определенного рода обработку информации. Т.е. для того чтобы организовать захват, запись, вывод видео - необходимо построить соответствующий граф. Например, для для того чтобы построить граф вывода видео из файла на устройство, необходимо в граф внести и последовательно связать между собой такие фильтры:

файловый источник(чтение) -> фаловый парсер(распознавание) -> <Декодер данных> -> Кодер в DV формат -> Фильтр устройства.

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



Рис. 1 Граф вывода видео из файла на устройство. (20 кадров х 0.2 сек., 1 повтор, 10 сек анимация.)




Предполагаемая научная новизна

      Существующие системы серверов повторов довольно сложные системы с большим набором функциональности. Их развитие началось несколько лет назад и сейчас подобные системы являются неотъемлемой частью при телевизионном вещании, особенно при трансляции спортивных мероприятий. Разработкой таких систем серьезно занимаются в зарубежных странах. Есть подобные разработки в России.

      В Украине в данный момент нет представителей занимающихся разработкой серверов повторов. Это один из ключевых моментов необходимости/востребованности данной разработки.

      К тому же, данное программное обеспечение, в перспективе, может объединить в себе большой комплекс работ связанным с видео-вещанием. Например, помимо организации повторов и перераспределения потоков, реализовать комбинирование нескольких потоков в один, микширование, наложение, титрование.

      Цены на существующие серверы повторов достигают $20 000 и выше. Используемое программное обеспечение и сопровождающая аппаратура очень дорого стоят. Конечно, на больших спортивных мероприятиях или на других серьезных масштабных трансляциях затраты полностью себя оправдывают. Однако относительно небольшим студиям, подобного рода «навороченные» системы просто нет необходимости использовать. Нет той самой масштабности и разнообразия возможных ситуаций. Именно такие студии будут заинтересованы в разработке нового более доступного средства управления процессом записи и вещания.



Описание результатов

      На данном этапе развития система позволяет захватывать и перераспределять видео потоки с трех DV каналов.

      Захват видео осуществляется в двух вариантах. Первый - запись в формате AVI. Используется когда нет необходимости организовывать повторы. Второй - запись в собственный формат. Второй вариант позволяет гибко использовать один и тот же файл с записью как для просмотра и вывода, так и для дозаписи новой информации. Используется для организации повторов.

      При записи данных с камер возможно расстановка контрольных точек(ссылок), для быстрого перехода на прошедший отмеченный момент.

      Используемый плейлист позволяет в себе содержать как источники данных (ссылки на видео-каналы) принимаемые с камеры, так и файловые потоки. Причем действия по добавлению и перераспределению видео-каналов в плейлисте происходят прозрачно для пользователя. Т.е. можно выбрать источник с псевдонимом камеры либо указать путь к видео файлу.

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



Рис. 2 Система контроля и перераспределения видео потоков. Сервер повторов.






Выводы

      Была продеолана довольно интересная работа по созданию удобного и простого в использовании сервера повторов. Главным преимуществом разработки этого приложения (сервера повторов) является его простота и доступность. Это не означает, что он в чем-то ограниченый по сравнению с аналогичными системами. Целью было создание системы повторов и перераспределения видео-потоков с базовой необходимой функциональностью.

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



Источники

1. ProSystem - Системы замедленных повторов.
2. DNK - Сервер замедленных повторов Оrad Forum.
3. Архив журнала «625» №5/2004 - Системы замедленного воспроизведения и повтора EVS.
4. BSS - Микшерские пульты, видеокамеры, станция нелинейного монтажа.
5. Standards & Organizations - IEEE 1394.
6. IEEE 1394 - IEEE 1394.
7. VideoDive - Основные характеристики IEEE-1394.
8. Wikipedia - DirectShow.
9. Windows Media Developer Center - Introduction to DirectShow.
10. DirectShow по-русски - Руководство по созданию мультимедийных приложений на русском языке.





 



Главная | Автореферат | Библиотека | Ссылки | Отчет о поиске | Индив. задание | - | Рус. | Укр. | Eng.

Перейти на русский Перейти на українську Switch to english