Потоковая технология
Разработка методов обработки потоковой видео- и аудиоинформации, транслируемой с серверов находящихся в различных доменах телекоммуникационной сети. Особенности осуществления удаленного полнофункционального редактирования потоков видео- и аудиоданных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 28.10.2018 |
Размер файла | 21,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Новые возможности программного комплекса
2. Организация программного обеспечения
Литература
Введение
В настоящее время для работы с видео и аудио информацией, как в Интернет, так и на локальных сетях, широко используется потоковая технология. Эта технология позволяет решить основную проблему, которая ранее препятствовала практическому применению видео на базе использования телекоммуникационных сетей - проблему передачи очень больших объемов информации в реальном времени. Однако, хотя разработанное на настоящий момент в мире соответствующее программное обеспечение поддерживает трансляцию видео и аудио потоков, передаваемых посредством локальных и глобальных телекоммуникаций, оно не обеспечивает возможности осуществлять полнофункциональное редактирование потоковой информации транслируемой с удаленных серверов.
На протяжении последних лет авторами настоящей статьи была разработана новая информационная технология управления инфраструктурой видео и аудио потоков, транслируемыми различными территориально разнесенными серверами. В результате проведенных работ были:
- разработаны методы обработки потоковой видео и аудио информации, транслируемой с серверов находящихся в различных доменах телекоммуникационной сети, что позволяет интегрировать такие данные в рамках единой инфраструктуры
- реализован действующий программный комплекс, впервые позволяющий осуществлять удаленное полнофункциональное редактирование потоков видео и аудио данных, проведены его испытания и осуществлен анализ их результатов. Этот программный комплекс предоставляет совершенно новые возможности использования объемной видео и аудио информации во многих практически значимых приложениях. Аналогов программных средств с соответствующими функциональными возможностями в мире нет.
Разработанная авторами настоящей статьи технология позволяет дистанционно модифицировать потоковые данные (например, вырезать части видеофайла), объединять различные потоки и их фрагменты, вставлять в поток как новые видео или аудио данные (в том числе, транслируемые из разных источников), так и графическую информацию. При этом управление потоками является «виртуальным», то есть не требуется какая-либо модификация или реальная разгрузка видео и аудио файлов, хранящихся на распределенных серверах.
Таким образом, в процессе работы, физически никаких изменений информации, хранящейся на серверах, не происходит, результаты объединения и редактирования видео или аудио файлов находящихся на разных серверах сохраняются в базе данных самого программного комплекса.
При этом, достаточно разместить программные средства, входящие в состав разрабатываемого комплекса, на одном сервере, использующем стандартный протокол, - «управляющем сервере», не устанавливая никаких дополнительных программ на видеосерверах и клиентских компьютерах.
Важно отметить, что результирующие виртуальные потоки данных, созданные в результате обработки (возможно, многократной) средствами, входящими в состав разрабатываемого программного инструментария, с точки зрения использования ничем не отличаются от исходных потоков видео и аудио данных. Эти потоки представляются в виде структур перекрестных ссылок, определяющих связи и временные соотношения между исходными и виртуальными потоками и их фрагментами. Такие структуры используются для динамической генерации, во время трансляции потоков, управляющих команд, обеспечивая тем самым соответствующее дистанционное управление этими потоками. При этом осуществляется управление не только порядком и позиционированием во времени различных потоков и их фрагментов, но и обеспечивается параллельная обработка потоков с целью оптимизации их слияния.
Программный комплекс ориентирован на решение таких прикладных задач, которые требуют поддержки обработки одновременных транзакций, инициированных очень большим количеством пользователей, возможно обладающих различными правами доступа к информации. Для управления этими транзакциями в состав разрабатываемого программного обеспечения входит специализированная база данных, разработанная авторами статьи, и набор утилит для ее поддержки. Эта же база данных используется для поддержки и других типов данных, обрабатываемых программами, входящими в состав системы (например, для хранения и поиска метаданных, описывающих медиа объекты).
В настоящий момент разработанный программный комплекс установлен на трех серверах в России и США, и осуществляются его испытания. Анализ полученных результатов показал, что предложенная авторами доклада новая потоковая технология способна обеспечить эффективное редактирование видео и аудио потоков, транслируемых с удаленных серверов.
1. Новые возможности программного комплекса
В статье (3) были кратко описаны базовые функции рассматриваемого программного комплекса, реализующие основные операции редактирования потокового видео и аудио. К настоящему моменту реализован ряд дополнительных возможностей работы с этой системой.
Важной новой возможностью является то, что теперь пользователь может заменять звуковое сопровождение видеопоследовательности (исходной или полученной в результате редактирования) на заданный им звуковой фрагмент. Другими словами, он может указать любое место видеопоследовательности (остановив просмотр в этом месте) и задать аудиофайл который заменит существующий начиная с этого таймкода. Соответствующий аудиофайл мог быть подготовлен заранее и записан в библиотеку или, например, с помощью операций выделения фрагмента высечен из другой видеопоследовательности. Отметим, что в этом случае видеопоследовательность и ее звуковое сопровождение могут транслироваться и с разных удаленных друг от друга серверов. Одним из важных применений такого подхода является обеспечение перевода звукового сопровождения видео (например, видеолекций) на другие языки.
У пользователей последней версии появилась возможность вставлять в процессе редактирования в любое место видеопоследовательности изображения (например, фотографии). При этом длительность показа этого изображения может быть задана пользователем (по умолчанию, изображение показывается четыре секунды и затем видео продолжается).
Кроме создания в процессе редактирования видео и аудио потоков (проектов), являющихся единым виртуальным объектом, появилась возможность использования новой структуры, представляющей последовательность независимых клипов, воспроизводимых в заданной последовательности (так называемый плей-лист). Пользователь может менять порядок воспроизведения этих клипов, заносить в плей-лист новые клипы и удалять ненужные. Реализация этой структуры осуществлена, в отличии от проектов, которые транслируются с помощью генерируемых команд на языке SMIL, на базе RAM-файлов. Возможности, предоставляемые пользователю при использовании плей-листа, существенно уступают полнофункциональному редактированию проектов (например, невозможна вставка фрагмента в любую точку потока). Однако, для некоторых приложений этих возможностей может быть достаточно, а работа с этой структурой существенно проще, чем редактирование проектов.
В новую версию программного комплекса включены специально разработанные программные средства, предназначенные для автоматического выделения стоп-кадров из потокового видео, и средства интеграции этих стоп-кадров с другими метаданными. Выделение стоп-кадров осуществляется с помощью клиентской программы, которая обеспечивает захват кадров из видео, воспроизводимого на клиентском компьютере, даже если это видео является потоковым и транслируется с удаленного сервера. Захват кадров может непосредственно управляться пользователем, который определяет нужные кадры в процессе просмотра, или пользователь может задать количество стоп-кадров, которые он хочет получить, и кадры с соответствующими временными промежутками будут автоматически захвачены. В дальнейшем пользователь может проанализировать результат и удалить ненужные ему кадры. Затем релевантные стоп-кадры и соответствующие тайм-коды пересылаются на управляющий сервер. Эти стоп-кадры могут просматриваться пользователем вместе с текстовыми метаданными, описывающими соответствующий фильм. В ходе просмотра этих кадров пользователь может активировать любой из них и в этом случае просмотр фильма начнется с этого кадра. Такая возможность быстрого перехода к нужным фрагментам видеопоследовательности оказывается очень полезной при работе с длинными фильмами. Если метаданные клипа, который включен в плей-лист, содержат стоп-кадры, первый из них будет использован для визуализации этого клипа на линейке плей-листа (если метаданные не содержат стоп-кадров, этот клип будет идентифицироваться на линейке только своим названием).
2. Организация программного обеспечения
Как уже упоминалось выше, в состав программного комплекса входит специализированная база данных.Поисковый механизм этой базы данных базируется на структуре B-дерева и эффективно обеспечивает локализацию нужной информации среди больших объемов данных.
База данных системы состоит из двух файлов. В одном находятся записи, содержащие информацию о документах, пользователях, проектах, плей-листах. Запись БД состоит из текстовых полей, произвольной длины. Ограничением является общая длина записи - не больше 65000 символов. Поля содержат различную информацию - название документа, аннотацию, тип документа или записи (например, пользователь, видеофильм, изображение, проект, плей-лист), URL документа. В записях типа проект или плей-лист есть поля, в которых содержится вся необходимая информация о составе - какие фрагменты включены в проект с указанием URL этих документов и таймкодов. Кроме того, имеется поле в котором сохраняется предыдущее состояние проекта, после каждого редактирования. Это позволяет, в случае необходимости, вернуться к предыдущему состоянию (операция UNDO). Каждая запись имеет уникальный числовой идентификатор, по которому осуществляется быстрый доступ к записи. Назначение некоторых полей может различаться в зависимости от типа записи. Так поле называемое «URL» для ссылки на фильм или фотографию содержит его URL адрес, а для учетной записи пользователя - адрес его электронной почты.
Другой файл - индексный. Он предназначен для поиска по ключевым словам. При создании БД указывается, по каким полям будет производиться поиск, и все слова из этих полей попадают в индексный файл. Особым полем в БД является поле даты. Оно так же индексируется, и поиск по нему возможен как по точной дате, так и по попаданию в диапазон. потоковый аудиоданные домен редактирование
Все операции над базой данных выполняет специальный программный модуль, входящий в состав системы, написанный на языке C. В его состав входит библиотека для доступа к этой базе данных. Программа может быть скомпилирована для работы в среде MS Windows или Linux. Программа поддерживает интерфейс CGI и вызывается HTTP сервером. От пользователя на сервер передаются запросы. В них содержится информация о том какую операцию выполнить и с какими параметрами. Сервер активирует программный комплекс и передает ему эти параметры. Далее система выполняет все необходимые действия с базой данных, такие как:
- Регистрация пользователя,
- Проверка имени и пароля при входе пользователя,
- Поиск информации в базе данных,
- Занесение новых документов,
- Удаление документов,
- Редактирование документов,
- Изменение записей при работе с проектами и плей-листами.
Кроме того, соответствующие модули системы генерирует SMIL и RAM файлы при каждом изменении проекта или плей-листа.
В соответствии с интерфейсом CGI, параметры для программного комплекса могут передаваться непосредственно в строке вызова программы (метод GET) или в теле запроса (метод POST). Каждый параметр имеет вид <имя>=<значение>. Параметры разделяются символом '&'. Обязательным является параметр DO. Он определяет действие, которое должна выполнить программа. Например, DO=USRTST - проверка имени и пароля пользователя при входе, а DO=SEARCH - поиск документов в общей библиотеке. Остальные параметры зависят от выполняемого действия. Для показа содержимого каталога (Bin) пользователя достаточно выполнить:
DO=SHOWF & USER=<имя-пользователя>
А для вставки запомненного фрагмента из видео или аудио файла в проект:
DO=INSF & USER=< имя-пользователя > & IDCL=<идент. док., куда вставляется> & IDCLINS=<идент. док., откуда вставляется> & TIMEB=<начало фрагмента> & TIMEE=<конец фрагмента> & TIMEINS=<место вставки>
Для передачи параметров от пользователя к серверу в HTML используются формы, поля которых пользователь должен заполнить. Однако в разработанной системе значения многих параметров зависят от предыдущих действий пользователя. Например, для вставки фрагмента одного клипа в проект, пользователь сначала должен выделить фрагмент, потом вызвать проект, указать место вставки и дать команду «вставить». Все необходимые параметры в этом случае в процессе работы запоминаются в переменных JavaScript, который широко используется в системе. Когда пользователь дает команду на выполнение действия, программа на JavaScript заполняет скрытые (невидимые) поля формы и посылает сформированный полный запрос серверу.
Одним из параметров, который всегда передается программному комплексу, является имя файла инициализации. Поскольку этот параметр является обязательным и постоянным, он передается непосредственно как часть вызова программы, в виде дополнительной информации о пути в URL:
- http://server.ru/napse/cgi-bin/snap.exe/snapse/snap.ini
- http://server.ru/napse/cgi-bin/snap.exe - вызов программы,
- /snapse/snap.ini - файл инициализации.
В файле инициализации содержится информация, необходимая соответствующим программным модулям, входящим в состав системы, для доступа к другим файлам и каталогам. С помощью этого файла также осуществляется настройка системы на сервере. Файл инициализации содержит строки вида - < параметр> "значение"
Они определяют месторасположение, имена и URL адреса других файлов. Некоторые адреса указываются по отношению к HTTP-серверу по протоколу HTTP, некоторые по отношению к видеосерверу Helix по протоколу RTSP. Указываются следующие параметры:
FILEDB- имя файла базы данных
FILEDIC- имя индексного файла
FILEHDC- имя файла шаблонов
TSMILPATH- каталог для размещения пользовательских папок и документов
TSMILURL- URL адрес этого каталога по протоколу HTTP
TUFLURL- URL адрес этого каталога по протоколу RTSP
CADRPATH- каталог для размещения стоп-кадров
CADRURL- URL адрес этого каталога по протоколу HTTP
COMFLPATH- каталог для размещения общих видео и аудио файлов
COMFLURL- URL адрес этого каталога по протоколу RTSP
COMPHPATH- каталог для размещения графических файлов (фото)
COMPHURL- URL адрес этого каталога по протоколу HTTP
COMPHRTURL- URL адрес этого каталога по протоколу RTSP
Результатом работы CGI-программы должна быть сформированная HTML-страница, которая передается пользователю. Программное обеспечение генерирует такие страницы для каждого действия пользователя. Например, результатом поиска будет HTML-страница, содержащая список найденных объектов, результатом создания нового проекта, кроме модификации базы данных, будет обновленный список документов в каталоге пользователя.
Для генерации таких HTML-страниц используются шаблоны. Для каждой страницы используются один или несколько шаблонов. Шаблон представляет собой текст содержащий всю или часть HTML-страницы с использованием соответствующих параметров. Как и в любом HTML-документе, в нем может использоваться язык JavaScript. Параметры задаются именем и заключаются в квадратные скобки. Во время генерации документа вместо них подставляются необходимые значения.
Все шаблоны содержатся в одном файле. Каждый шаблон начинается со строки, содержащей
###<имя шаблона>
Приведем упрощенный пример шаблона, которые используются для генерации HTML-страницы, содержащей документы из каталога пользователя. Для упрощения здесь убраны многие части, относящиеся к форматированию документа, и код программ на JavaScript, который отвечает за дальнейшую работу с сформированной страницей.
Шаблон начала страницы:
###TITP
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251" lang="ru">
<LINK href="jscs/snap.css" type=text/css rel=stylesheet></link>
<script src="jscs/common.js" type=text/javascript></script>
<script src="jscs/xhtp.js" type=text/javascript></script>
</head>
<body class=leftbod OnLoad="Ld();">
<div style="height:100%;width:100%;border-left: 3px outset rgb(91,116,127);">
<div class=darkline style="width:100%;">
<center>Каталог пользователя [USER]</center>
</div>
<div id="idsrrez" class=bndocb>
<Form name=f1 action="'+top.sbase+parent.stsk+'" method="GET" target=msg>
<input type="hidden" name="DO" value="LOAD">
<input type="hidden" name="IDCL" value="">
<input type="hidden" name="UNIC" value="">
<input type="hidden" name="USER" value="">
<table width=100% cellpadding=0 cellspacing=0 border=0>
Шаблон текста для каждого документа:
###LISTD
<tr><td valign=top class=tpicw>
<a href="javascript:void selcurdoc([NREC]);">
<img src="imgs/info[TYP].gif" border=0 onDblClick="ldcurdoc([NREC],"[$CLIPURL]");"></a>
<a href="javascript:void Moreinfo([NREC]);" class=amn><img src="imgs/info.gif" border=0></a>
</td>
<td class='clst valign=top id=idtblcl[NREC] onClick="selcurdoc([NREC]);" onDblClick='ldcurdoc([NREC],"[$CLIPURL]");'>
<div class=docnam>[TYP] [DAT]</div>
</td>
</td></tr>
Шаблон конца страницы
###FIN
</table>
</form>
</div>
</div>
</body>
</html>
Здесь [USER], [TYP], [TIT], [DATA] и [$CLIPURL] - параметры.
[USER] - имя пользователя
[TYP] - тип документа
[TIT] - название документа,
[DATA] - дата создания,
[$CLIPURL] - URL адрес документа.
Вместо этих параметров CGI-программа подставит реальные значения.
Разумеется это только некоторые из имеющихся параметров, кроме них имеется много других параметров, которые используются при создании шаблонов.
Литература
1. RealNetworks Production Guide. RealNetworks, Inc., http://service.real.com/help/library/guides/ProductionGuide/prodguide/realpgd.htm
2. Бухштаб Ю.А., Воробьев А.А., Евтеева Н.Н. Организация программных средств, обеспечивающих интерактивное редактирование потокового видео. -Препринт ИПМ им. М.В.Келдыша РАН, №78, 2004.
3. Бухштаб Ю.А., Воробьев А.А., Евтеева Н.Н. Реализация редактора видео и аудио потоков, транслируемых с удаленных серверов. -Препринт ИПМ им. М.В.Келдыша РАН, №131, 2005.
Размещено на Allbest.ru
...Подобные документы
Изучение Sony Vegas 9.0 - профессиональной программы для многодорожечной записи, редактирования и монтажа видео и аудио потоков. Инструменты редактирования, световые эффекты, переходы. Захват, импорт, экспорт видео и аудиотреков. Версия Vegas Pro.
реферат [20,7 K], добавлен 01.05.2010Общая характеристика видео-аудио конференции, основные сферы ее использования, режимы и способы проведения. Характеристика средств групповой обработки информации. Системы передачи данных в сети Интернет. Проведение аудио-видео конференции и криптозащита.
дипломная работа [2,7 M], добавлен 17.07.2013Описание функций видеоредактора. Достоинства и недостатки Sony Vegas - профессиональной программы для многодорожечной записи, редактирования и монтажа видео и аудио потоков. Инструкция по работе с программой. Операции, осуществляемые при монтаже видео.
реферат [21,4 K], добавлен 05.03.2012Порядок разработки информационной системы "Архив online-видео" для скачивания и добавления файлов, его структура и основные компоненты. Методика регистрации на сайте, просмотра, добавления и скачивания видео. Программирование администрирования сайта.
курсовая работа [1,9 M], добавлен 04.06.2009Логическое проектирование сети. Размещение серверов DNS. Разработка структуры Active Directory. Организация беспроводного доступа к сети WLAN. Подключение филиалов и удаленных пользователей. Обеспечение возможности проведения аудио и видео конференций.
курсовая работа [607,0 K], добавлен 22.02.2011Основные понятия цифрового фото и видео. Достоинства и недостатки графических редакторов. Анализ школьных учебников по информатике по изучению работы с цифровым фото и видео. Анализ методических разработок. Планирование кружка "Компьютерная графика".
курсовая работа [52,1 K], добавлен 16.07.2013Сравнительный анализ функциональных возможностей десктопных видео редакторов. Функциональные возможности разрабатываемого Web-приложения. Процессы взаимодействия пользователя и системы. Выбор библиотек для обработки видео. Создание локального сервера.
дипломная работа [1,3 M], добавлен 30.11.2016Методика и программы преобразования видеозаписи с аналогового носителя (ТВ-трансляция, видеокассета) или ненадёжного цифрового в набор файлов на жёстком диске компьютера. Проблемы, возникающие при построении домашней студии обработки видео, их решения.
реферат [19,7 K], добавлен 27.02.2009Создание титров с использованием видео-редактора Sony Vegas Pro 10.0 и графического редактора. Придание способности двигаться и видимости жизни объектам. Анимация в среде 3D Studio Max 2010. Воспроизведение визуализированной последовательности кадров.
курсовая работа [2,0 M], добавлен 17.01.2013Понятие видео-лекции, возможности ее применения в учебно-педагогическом процессе. Положительные и отрицательные стороны самообучения. Содержание, методы, формы обучения компьютерной графике в рамках самообразования, путем использования интернет сообществ.
курсовая работа [1,1 M], добавлен 13.12.2014Форматы и характеристики цифрового видео: частота кадра, экранное разрешение, глубина цвета, качество изображения. Типовый технологический процесс производства видеокомпонентов для мультимедиа продуктов с использованием программы miroVIDEO Capture.
лекция [2,7 M], добавлен 30.04.2009Обзор рекламного ролика Vodafone "Bubbles". Слежение за точками и плоскостью в двухмерном трекинге. Трехмерный трекинг: захват движения и системы, основанные на принципе фотограмметрии. Методика создания ролика в условиях малобюджетной видео-студии.
дипломная работа [8,6 M], добавлен 25.01.2012Изучение одной из ведущих программ для монтажа и обработки видео потока: "Virtual Dub". Установка, запуск и персональные настройки программы, описание поддерживаемых форматов. Основные функции, подключение фильтров. Сравнение с существующими аналогами.
курсовая работа [3,5 M], добавлен 09.09.2010Разработка структурной схемы компьютерной сети. Планирование топологии сети, настройка серверов. Принципы распределения IP-адресов. Расчет удвоенной задержки распространения сигнала. Моделирование потоков трафика в сети. Сетевые протоколы, их особенности.
курсовая работа [1,2 M], добавлен 23.12.2015Разработка программы на платформе Microsoft Vusial С#, реализующая ряд задач: реализация движения 3D-модели и освещения сцены, изменение вида камеры с третьего на первый и обратно при помощи клавиатуры, запись работы с моделью в видео файл фомата *.avi.
курсовая работа [407,9 K], добавлен 07.07.2012Movie Maker - простой в освоении и достаточно мощный редактор для обработки цифрового видео, лучшая программа для начинающих пользователей. Описание работы с программой, формат записи, монтаж фильма, наложение звука, видеоэффекты, название и титры.
реферат [36,1 K], добавлен 01.05.2010Создание информационной мультимедиа системы (медиа-плеера) для презентации аудио-видео информации о факультете КТАС, представленной в специально отснятых и смонтированных avi-файлах. Разработка модуля пользовательского интерфейса, выходные данные.
курсовая работа [41,5 K], добавлен 21.11.2014Анализ программного обеспечения для работы с видео. Adobe After effects. Cinema 4D. Fusion. Nuke. Motion. Появление рекламы в Америке. Развитие видеорекламы. Разработка видеозаставки. Техническое задание заказчика. Цветовая схема. Анимация логотипа.
дипломная работа [1,6 M], добавлен 03.05.2018Особенности и преимущества 3D-моделирования. Базовые функции нелинейного редактирования и комбинирования видео. Проектирование 3D-модели для игрового проекта по созданию дома и моста. Просмотр взаимодействий с игроком объектов в Unreal Engine 4.7.
дипломная работа [3,6 M], добавлен 14.06.2015Разработка проводной локальной сети и удаленного доступа к данной сети с использованием беспроводной сети (Wi-Fi), их соединение между собой. Расчет времени двойного оборота сигнала сети (PDV). Настройка рабочей станции, удаленного доступа, сервера.
курсовая работа [2,0 M], добавлен 10.11.2010