Реферат по предмету "Информатика, программирование"


Потоковое видео и открытые системы

Министерство образованияРоссийской Федерации
Уфимский ГосударственныйАвиационный Технический Университет
Курсовая работа
по предмету: Администрированиеинформационных систем
на тему: Потоковоевидео и открытые системы
Уфа, 2010

Оглавление
1.      Теоретическаячасть
1.1    Общиесведения о потоковом мультимедиа
1.2    Потоковоевещание и хранение информации
1.3    Протоколыпотокового вещания
1.4    Преимуществапотокового вещания
1.5    Обзормультимедиа серверов      
2.      Практическаячасть
2.1    Установкасервера
2.2    Организацияпотокового вещания по протоколу UDP Unicast
2.3    Организацияпотокового вещания по протоколу HTTP
2.4    Созданиеweb-страницы транслирующей медиапоток с сервера
2.5    Удаленноеуправление сервером VideoLAN
Заключение

1. Теоретическаячасть
 1.1 Общие сведения о потоковом мультимедиа
Потоковое мультимедиа (от.англ. streammedia) — это мультимедиа, котороенепрерывно получается пользователем от провайдера потокового вещания. Это понятиеприменимо как к информации, распространяемой через телекоммуникации, так и к информации,которая изначально распространялась посредством потокового вещания (например, радио,телевидение) или непотоковой (например, книги, видеокассеты, аудио CD).
Первые попытки отображениямультимедиа информации на компьютерах начались в середине XXвека.Однако, прогресс в этой сфере был очень малым, вследствие высокой стоимости и ограниченныхвозможностей компьютеров тех времён.
С конца 1980-х и до 1990-хкомпьютеры, доступные потребителям, уже были способны отображать различные видыинформации. Основными техническими проблемами потокового вещания были:
-        наличие достаточнопроизводительного CPUишины для передачи мультимедиа необходимого битрейта
-        создание ОС, приработе которых гарантируется высоконадёжная передача данных.
Тем не менее, компьютерысети оставались ограниченными, а потоковое мультимедиа уступало традиционному (CD-ROM).
В период с 1990 до 2000пользователи интернета получили:
-        высокую пропускнуюспособность сетей, в частности, на последней миле
-        возросло количествоабонентов сетей, особенно Интернета
-        стали использоватьсястандартизованные протоколы и форматы, такие как TCP/IP,HTTP иHTML
-        появилась коммерцияв Интернете
Эти достижения в областисетей в совокупности с высокопроизводительными домашними компьютерами и современнымиоперационными системами сделали потоковую мультимедийную информацию доступной широкомукругу простых пользователей. Автономные приёмники интернет-радио предлагали пользователямвозможность прослушивания потокового звука без наличия компьютера.
В основном, мультимедиаинформация занимает большие объемы, так что затраты на хранение и передачу подобнойинформации всегда велики; поэтому, в большинстве случаев, передаваемая в поток информациясжимается при передаче в сеть вещания.
Мультимедиа потоки бываютдвух видов: по запросу или живыми. Потоки информации, вызываемой по запросу пользователяхранятся на серверах продолжительный период времени. Живые потоки доступны короткийпериод времени, например, при передаче видео со спортивных соревнований.1.2  Потоковое вещание и хранение информации
Размер, необходимый дляхранения потоковой мультимедиа информации (в большинстве файловых систем выражаетсяв мегабайтах, гигабайтах, терабайтах и т. д.) вычисляется в зависимости от скоростипередаваемой информации и продолжительности информации по следующей формуле (дляодного пользователя и файла):
размер хранилища (в мегабайтах)= продолжительность (в секундах) * битрейт (в кбит/с) / (8 * 1024)
Пример:
Один час видео, закодированногосо скоростью 300 кбит/с (типичное видео транслируемое в интернете, имеющее размер320×240 пикселов) будет занимать:
(3,600 с * 300 кбит/с) /(8*1024) порядка 130 Мб места на диске
Если файл, хранимый на серверес режимом передачи по запросу будет просматриваться 1000 людей одновременно по протоколуUnicast (1клиент — 1 соединение), то сервер должен иметь следующую пропускную способность:
300 кбит/с * 1,000 = 300,000кбит/с = 300 Мбит/с сетевого интерфейса
Это эквивалент порядка 125Гб информации в час. Разумеется, при использовании протокола Multicastнагрузкана сервер намного ниже, так как для передачи информации всем клиентам используетсяединственный поток. Следовательно, такой поток будет занимать всего 300 кбит/с сетевогоинтерфейса сервера.1.3 Протоколы потокового вещания
Разработка сетевых протоколовпотокового вещания вызывает следующие проблемы:
-        Датаграмные протоколы,такие как UserDatagram Protocol(UDP),отправляют поток медиаинформации как поток отдельных маленьких пакетов. Он прости эффективен; в то же время, в спецификации протокола нет гарантии доставки данныхполучателю. Это очень сильно затрудняет поиск и исправление получаемых данных принимающиминформацию приложением. При потере данных поток может быть отключен.
-        Протоколы RTSP,RTP иRTCP специальноразрабатывались для передачи мультимедийной информации по сети. Последние два построенына основе UDP.
-        Надежные протоколы,такие как TCP, гарантируют корректностьполучаемых данных клиентов потокового вещания. Однако при большом количестве ошибокпри соединении/подтверждении получаемой информации передаваемая информация можетстать неактуальной. Это также может вызвать значительные задержки при передаче информациина время, затраченное на пересылку поврежденной информации. Одним из решений даннойпроблемы является буферизация информации на стороне клиента.
-        Протоколы Unicastотправляютотдельную копию данных каждому клиенту. Unicastподходитдля большинства пользователей сети Интернет, но сильно затрудняет масштабированиесервера для бомльшего количества клиентов.
-        При широковещательнойпередаче одна копия данных передается всем клиентам сервера.
 Протоколы Multicastразработаныдля снижения нагрузки с серверов на подключения/ширину канала при получении потоковогомультимедиа большим количеством клиентов. Эти протоколы отсылают одну порцию данныхцелой группе клиентов. В зависимости от типа сетевой инфраструктуры, групповая передачаданных может быть доступна, а может и не быть. Одним из потенциальных недостатковгрупповой передачи является отсутствие возможности реализовать функцию видео позапросу. Непрерывное вещание потоковой информации также делает невозможным управлениевоспроизведением пользователем. Однако, эта проблема может быть решена внедрениемв сеть передачи данных кэширующих серверов и буферизирующего принимаемый поток программногообеспечения.
-        Multicastпозволяетпередавать один поток информации группе клиентов по сети. Одной из проблем при реализацииподобной схемы потокового вещания является корректная настройка маршрутизаторовдля передачи широковещательных пакетов из одного сегмента сети в другой. Если организация,предоставляющая потоковое вещание, имеет контроль над сетью между сервером и клиентами(например, в образовательной, правительственной или корпоративной сети), то протоколымаршрутизации, такие как IGMPиPIM, могут быть использованы для доставкимультимедиа нескольким клиентам из различных сегментов LAN.
-        Протоколы P2Pмогутиспользоваться при распространении предварительно записанной мультимедиа между компьютерами.Это снимает нагрузку с сервера, однако сеть передачи данных между сервером и однимиз клиентов становится узким местом данного варианта реализации потокового вещанияинформации.1.4 Преимущества потокового вещания
Так как пропускная способностьканалов ограничена и все крупные сервера, раздающие медиаконтент обычным способомочень сильно перегружены. Распределенные файлообменные сети существенно снижаютнагрузку, однако реальная скорость передачи данных у них чрезвычайно низка.
Компромиссной технологиейраздачи медиаконтента является онлайновое вещание по технологии Multicast,обеспечивающей одновременную доставку идентичного контента всем запросившим егопользователям, что существенно разгружает каналы передачи данных. Это также ограничиваетсвободу пользователей в выборе контента, поскольку если к серверу подключились стотысяч пользователей и каждый из них выбирает свой файл, то никакого выигрыша владелецсервера не получит. С другой стороны, можно иметь несколько независимых Multicast-каналов,передающих различные файлы, к которым может подключаться кто угодно. Разница междуобычным скачиванием файла с сервера в том, что трансляция не позволяет слушателем/зрителямуправлять потоком, и они вынуждены слушать/смотреть файл с момента подключения ксерверу, который к тому времени мог проиграть половину файла. В некоторых случаяхэто приемлемо, в некоторых — нет. Как показывает практика, достаточно большой аудиториипользователей совершенно неважно, что именно играет в данный момент — главное, чтобычто-то вообще играло.
К тому же в потоковое аудио/видеонамного легче «врезать» рекламу или прочие вставки типа «breakingnews», да и квалификация среднестатистическогопользователя не позволяет сохранять потоковый контент на диск, что очень нравитсядержателям авторских прав и прочим медиамагнатам.1.5 Обзор мультимедиа серверов
С развитием интернет технологий,потоковое вещание мультимедиа вышло на новый уровень. Сегодня с легкостью можнонайти тысячи ссылок ведущих на множества потоков музыки или видео. Для организациисерверов, с которых ведется потоковое вещание разработано множество программногообеспечения. Большая часть из которого предназначена для вещания аудио данных вформатах mp3 или ogg.Для видео данных набор программного обеспечения ничуть не меньше, но серверов, которыемогли бы полностью покрыть потребности медиасервисов довольно немного и основнаячасть является коммерческими проектами. Наиболее популярными на сегодняшний моментсерверами для потокового видео можно назвать TVersity, QuickTime Broadcaster, VideoLAN,Windows Media Services, FFserver (FFmpeg) и т.д. Из них, лишь серверы VideoLAN иFFserver (FFmpeg) являются бесплатными и распространяются с открытым исходным кодом.
FFmpeg — набор свободныхбиблиотек с открытым исходным кодом, которые позволяют записывать, конвертироватьи передавать цифровое аудио и видео в различных форматах. Он включает libavcodec— библиотеку кодирования и декодирования аудио и видео и libavformat — библиотекумультиплексирования и демультиплексирования в медиаконтейнер. Название происходитот названия экспертной группы MPEG и FF, означающего fast forward.
FFmpeg разработан под ОСна основе Linux, однако может быть скомпилирован под многие другие операционныесистемы. Разработчики не выпускают релизов и рекомендуют использовать последнююверсию из Subversion. Распространяется под лицензиями GNU LGPL или GNU GPL.
Серверы на основе FFmpegчастоорганизуют на вебхостинге, создавая различные видео порталы. Но зачастую даннуюбиблиотеку используют лишь как конвертер для медиафайлов при загрузке их на сервер.
VideoLAN-многофункциональный комплекс, портированный практически под все операционные системы,поддерживающий множество протоколов, форматов и контейнеров, который можно использоватьи как локальный аудио/видеоплеер, и как сервер трансляции (рис. 1).VideoLAN — это некоммерческий проект, бесплатную версию которого (вместе с исходными текстами и готовыми бинарными сборками) всегда можно скачать с официального cервера http://www.videolan.org/.
Клиентская и серверные частиисправно работают под Linux,Windows, MacOS X,BeOS, xBSD,Solaris, FamiliarLinux, Yopy/LinupyиQNX, однако их функциональность различнаи в зависимости от выбранной платформы варьируется в очень широких пределах (рис.2).
/>
Рисунок 2. Возможности программы VideoLAN на каждой из поддерживаемых еюплатформ.

Поддерживаются следующиевходные форматы данных: MPEG-1,MPEG-2, MPEG-4/DivX(считываемыес локального жесткого диска или CD/DVD);«настоящие» DVDиVCD; спутниковые карты, работающие по стандарту(DVB-S);потоковое видео, «упакованное» в MPEG-1,MPEG-2 и MPEG-4(то есть, VideoLANможетработать не только как сетевой транслятор, но и как ретранслятор чужогоконтента с возможностью сохранения последнего на жесткий диск).
В настоящий момент реализованыдва основных протокола трансляции: Unicast («узконаправленное» вещаниес доставкой контента только одному целевому узлу) и Multicast (групповая трансляция с доставкой одногои того же контента множеству узлов). Также (формально) имеется возможность широковещательнойрассылки контента всем узлам локальной сети (для этого достаточно указать в качествецелевого IP-адреса 255.255.255.255),но с высокой степенью вероятности она будет задавлена брандмауэрами и маршрузитаторами,так что без их радикальной перестройки сеанс вещания не состоится даже в рамкахлокальной сети.
Еще имеется ограниченнаяподдержка видео-по-требованию (Video-on-Demandили,сокращенно, VoD) с возможностью выбораконтента по HTTPилиTELNET интерфейсам,однако эта возможность обычно используется исключительно администраторами для удаленногоуправления сервером трансляции.
Контейнеры, в которые помещаетсятранслируемый поток, зависят от типа трансляции, допустимые комбинации которых перечисленыв таблице на рис. 5. Естественно, все это хозяйство работает как с IPv4,так и с IPv6.

/>
Рисунок 5. Допустимые комбинации протоколов трансляции с контейнерами, вкоторые упаковывается транслируемый медиа-поток.

2.Практическаячасть
Рассмотрим подробнее организациюпотоковой трансляцию видео на основе сервера VideoLan установленного на системуUbuntu 10.10. 2.1 Установка сервера
Для установки сервера, воспользуемсястандартным менеджером пакетов Synapticиустановим требуемые пакеты согласно инструкции установки на систему Ubuntu 10.10.Так же возможна установка, используя терминал. Что пригодится для удаленной установки.
Для нормальной работы сервераVideoLAN обязательным условием является установка и проигрывателя с библиотеками.Поэтому сначала устанавливаем медиапроигрыватель, который при установке автоматическизагрузит связанные пакеты.
Для того чтобы появиласьвозможность потокового вещания заменяем установленные библиотеки libavcodec на libavcodec-extra.
Размер загружаемых пакетовдовольно скромен по сегодняшним меркам и составляет около 6 мегабайт.
После загрузки и установкиVideoLAN можно сразу приступать к организации потокового вещания. 2.2 Организация потокового вещания по протоколу UDP Unicast
Самое простое — это потоковое вещаниеобычного AVI/MPEG файла насоседний компьютер. В меню программы выбираем пункт Медиа — Потоковое вещание илиже воспользовавшись горячими клавишами можно нажать (см. рис. 6) и через «Обзор» выбираемодин или несколько файлов (не обязательно одного и того же типа).
Для подключения субтитров (если мы хотимих подключать) взводим одноименную галочку и указываем путь к файлу с субтитрами,положение и цвет которых определяется кнопкой «Расширенные настройки».VideoLAN поддерживаетмножество субтитров различных типов (включая .srt и .sub), что позволяет нам, в частности, накладывать рекламуна видеопоток или различные сведения чисто информационного характера. После всехустановок связанных с выбором входного видео и субтитров можно нажимать на кнопку«Поток». В VideoLAN вещание можно осуществлять сразу в нескольких «направлениях»,но нам достаточно выбрать протокол UDP. В полеадрес введем адрес компьютера на который будет осуществляться вещание и порт (по-умолчанию1234). Также на этом этапе можно включить перекодирование входного потока, что вчастности пригодится для вещания по протоколу HTTP. В данном случае, использованиепротокола UDP Unicast подразумеваетв качестве среды передачи данных локальную сеть, что обуславливает высокую скоростьпередачи данных. Поэтому в перекодировании нет особого смысла.
Время жизни пакетов (TTL)зависит от количества узлов, через которые проходит транслируемый контент, и чтобыон не ушел чересчур далеко, это значение можно установить равному трем или дажеодному. О строке «MRL выходного потока» можно не заботиться, программасформирует ее за нас автоматически. После нажатия кнопки «Поток» автоматически начнетсявещание на указанный в параметрах адрес.
Проверим трансляцию, запустивлюбой проигрыватель, поддерживающий потоковую передачу, на компьютере с адресом,указанным в параметрах, и укажем номер udpпорта.Запустим VCL проигрыватель на операционной системе windows7и увидим осуществляемую трансляцию.
При этом нам вовсе не обязательнознать адрес сервера, достаточно лишь указать порт на который ведется трансляция.

2.3Организация потокового вещания по протоколу HTTP
Главным недостатком unicast-трансляцииявляется невозможность вещания на произвольные узлы локальной/глобальной сети. Сервердолжен иметь список IP-узлов для рассылки пакетов. Получателям знать же IP-адрестранслятора ни к чему. Им достаточно «помнить» назначенный UDP-порт, чтобыловить трафик. В обычной жизни все наоборот. Передатчик ничего не знает о приемнике(приемниках), а каждый из приемников в любой момент времени может настроиться наволну любого из многочисленных передатчиков и отключиться, если передача ему неинтересна.
Специально для реализацииподобного способа общения, VideoLAN поддерживает трансляцию через Web по TCP/IP-протоколу.Возвращаясь к серверной стороне, меняем протокол с UDPнаHTTP, в поле адрес можно ничего не указывать, если транслироваться будет толькоодин видео-поток.
Также рекомендуется увеличитьи значение TTL, особенно если мы собираемся вещать в Интернет на далекие расстояния.
Обратим внимание, что наэтот раз трансляция осуществляется через webиважно выбрать один из доступных контейнеров, для более лучшего сжатия потока и снижениятрафика. Если все клиенты используют в качестве приемника программу VideoLAN, тоособой разницы нет и лучше оставить контейнер по умолчанию, если же планируетсятранслировать аудио/видеопоток на компьютеры, где кроме Windows и штатного медиаплеераничего нет, лучше выбрать ASF, однако в таком случае следует позаботиться о совместимостис кодеками, поставляемыми вместе с Windows и в графе «профиль» выбратьчто-то очень хорошо известное и проверенное временем (например, DIV3, WM1, WM2),аналогичным путем поступить и со звуком, в противном случае слушателям придетсярыскать в поисках нужных кодеков перед началом воспроизведения контента.
Бегущий ползунок линейкипрогресса подтверждает, что вещание началось, даже если к нам еще никто не подключен.
Помимо VLCплейерапопробуем открыть поток также и в стандартном проигрывателе Windows. 2.4 Создание web-страницы транслирующей медиапоток с сервера
Так как в случае трансляциивидео через web, вовсе не обязательно знатьадреса клиентских машин, то для упрощения доступа к транслируемому потоку логичносделать webинтерфейс.Создадим пустую html-страницу и внедрим в неё код плеера. Для web трансляции кодстраницы может выглядеть следующим образом:

Тест

Тестовое потоковоевещание. Курсовая АИС.

 name=«video»
 autoplay=«yes»loop=«yes» width=«400» height=«300»
 target=«192.168.1.4:8080»/>



Где свойство объекта targetбудет содержать адрес транслируемого потока.

2.5Удаленное управление сервером VideoLAN
Дляудаленного управления медиасервером установим в системе OpenSSHсервер.
Установим удаленное соединениепо SSH используя клиент PuTTY.
После авторизации, получаемприглашение в терминал Ubuntu.
Запуск консольной версииVideoLAN осуществляется путем ввода команды cvlc. Даже в тех случаях когда мы можемне знать какой именно файл стоит транслровать, то VideoLANпоможетпросмотреть видео прямо в окне терминала. Для этого используется преобразованиеграфического изображения в символы ASCII.
По недолгому просмотру такогосимвольного фильма, вполне можно понять содержание ролика. Для того чтобы организоватьweb трансляцию, не придется вводить множество команд. Запуск трансляции осуществляетсяодной командой:
cvlc-vvv/home/alex/video.mp4--sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=192.168.1.4:8080}'
где /home/alex/video.mp4имя транслируемого файла, или устройство захвата, или даже ссылка на другой видеопоток. В блоке #transcodeуказываютсяпараметры перекодирования входного потока. Если нет нужды, менять установки по-умолчанию,то достаточно указать только имя контейнера и битрейт. Так же указывается тип точкивыхода, в данном случае это http,формат выходного потока, и адрес сервера, в котором можно указать только порт, асам адрес оставить пустым.
Теперь используя PuTTY запустимвеб трансляцию и проверим её на тестовой странице в другой ОС.

cvlc-vvv video.mp4 --sout '#transcode{vcodec=WMV2,vb=800,scale=1,acodec=wma2,ab=96,channels=2,samplerate=44100}:standard{access=http,mux=asf,dst=:8080/}'

Заключение
 
Структура глобального трафикав интернете меняется. Видео по-прежнему является основным пожирателем емкости сетевыхканалов, но изменяется сама структура видео.
Если раньше львиную долютрафика в глобальной сети генерировали миллионы пользователей, скачивающих видеов torrent-сетях,то теперь основным генератором трафика стало так называемое потоковое видео, генерируемоересурсами вроде YouTube или системами видеоконференций,когда пользователи общаются между собой по видеоканалам.
Сервер VideoLAN,позволяет любому пользователю создать один из таких каналов. Трансляция может осуществлятьсяс любого входного потока, будь то файл, web-камераили встроенный ТВ-тюнер. Трансляция видео может осуществлять как в локальной таки глобальных сетях, что делает данный сервер действительно масштабируемым.
VideoLANпозволяетпередавать один поток информации группе клиентов по сети. Одной из проблем при реализацииподобной схемы потокового вещания является корректная настройка маршрутизаторовдля передачи широковещательных пакетов из одного сегмента сети в другой. Если организация,предоставляющая потоковое вещание, имеет контроль над сетью между сервером и клиентами(например, в образовательной, правительственной или корпоративной сети), то протоколымаршрутизации, такие как IGMPиPIM, могут быть использованы для доставкимультимедиа нескольким клиентам из различных сегментов LAN.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.