Исследование технологий потокового вещания в сетях передачи данных и методов его оптимизации
Изучение принципов мультимедийного вещания в сетях передачи данных. Формулирование требований на разработку и выбор прикладного программного обеспечения комплекса мультимедийного вещания. Способы представления мультимедийного контента в цифровом виде.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | диссертация |
Язык | русский |
Дата добавления | 23.05.2018 |
Размер файла | 3,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
01:17:53
08.11.2012 17:17:54
08.11.2012 17:35:02
00:17:08
08.11.2012 18:06:02
08.11.2012 19:00:27
00:54:25
08.11.2012 19:52:27
08.11.2012 20:52:44
01:00:17
08.11.2012 21:41:44
08.11.2012 21:49:28
00:07:44
09.11.2012 09:50:18
09.11.2012 10:04:02
00:13:44
09.11.2012 10:18:02
09.11.2012 11:10:46
00:52:44
09.11.2012 11:13:46
09.11.2012 13:09:17
01:55:31
09.11.2012 13:22:17
09.11.2012 14:30:27
01:08:10
Среднее время работы
00:53:44
В результате тестирования на стабильность работы были выявлены недостатки в работе обоих инструментах, связанные с «утечкой памяти» и завершениях работы при потерях пакетов и сбоях в системе кодирования. При этом набор инструментов FFmpeg показал гораздо худшие результаты по сравнению с продуктом VLC, исходя из расчета количества сбоев на единицу времени.
По итогам тестирования построена таблица итоговой оценки критериев программного обеспечения (таблица 17).
Таблица 17
Оценка программного обеспечения для транскодирования цифровых потоков
РешениеКритерий |
FFmpeg |
VLC |
Коэффициент важности критерия |
|
Качество кодирования |
4 |
4 |
4 |
|
Производительность |
4 |
4 |
2 |
|
Потребление системных ресурсов |
4 |
3 |
1 |
|
Стабильность |
1 |
3 |
3 |
|
Общая оценка |
31 |
36 |
Таким образом, для транскодирования цифровых потоков из формата MPEG-2 в формат MPEG-4 AVC наиболее оптимальным является вариант решения, предлагаемый проектом VideoLAN, - VLC.
3.2 Разработка методики анализа работы и исходного кода программного обеспечения для транскодирования потоков
В связи с недостатками в работе системы транскодирования цифровых потоков, связанных со стабильностью в работе, предложено проанализировать работу библиотеки LideoLAN путем анализа исходного кода и отладочных тестов.
Для анализа с официального сайта проекта VideoLAN был скачан исходный код проекта.
Для начала необходимо разобраться в структуре проекта.
Структура проекта VLC
Ядро медиа-системы VLC называется libVLCcore. Оно управляет потоками, модулями(кодеками, демультиплексорами, и т.д.), модулями слоев, часами, плейлистами и низкоуровневыми элементами управления в VLC. Например, оно отвечает за управление синхронизацией между всеми аудио, видео дорожками и дорожками субтитров.
На верхнем уровне ядра находится библиотека libVLC, которая дает доступ сторонним разработчикам приложений к использованию всех возможностей ядра. Модули же связываются с libVLCcore, чтобы взаимодействовать с ядром.
Модульность. Одно из основных понятий VLC - это «модульность». VLC является, по сути, полной мультимедийной платформой (как DirectShow или GStreamer), к которой можно подключать множество модулей динамически, в зависимости от необходимости.
Платформа ядра используется, чтобы обрабатывать медиаинформацию, от входа (файлы, сетевые потоки) к выходу (аудио или видео, на экран или в сеть). Он использует модули, чтобы сделать большую часть работы на каждом этапе (различные мультиплексоры, разделения, декодеров, фильтров и выходы). Даже интерфейсы являются плагинами для libVLC.
Таким образом, VLC использует модули во время работы на каждом шаге информационного процесса. Модули подгружаются динамически во время работы приложения по мере необходимости. Каждый модуль предлагает разные возможности, подходящие в конкретном случае или необходимые в конкретной среде исполнения.
К основным модулям, относящимся к данному исследованию, относятся модули доступа, демультиплексирования, мультиплексирования, декодирования и кодирования.
Модули доступа (access modules) представляют собой протоколы для доступа к потокам, передаваемым по сети (HTTP, FTP, TCP, UDP, RTSP и т.д.), доступа к физическим и иным источникам медиа, таким как CD, DVD, BD, DirectShow и др.
Модуль демультиплексирования (demux module) разбирает поток байтов и разделяет его на элементарные потоки. Технически модули демультиплексирования «вытягивают» данные из потока, данные в него не передаются путем доступа к модулю демультиплексирования. В частности, в проекте VLC имеются следующие модули демультиплексирования: asf (ASF демультиплексор), avi (демультиплексор файлового потока AVI), mp4 (модуль демультиплексирования MP4), mpeg (PS, TS и др.) и playlist (для импорта списков воспроизведения).
Модуль мультиплексирования (mux module) выполняет работу, обратную той, которую выполняет модуль демультиплексирования, то есть соединяет несколько элементарных потоков в один поток байтов для передачи по сети или иным каналам связи.
Модуль декодирования(decoder) и кодирования(encoder) обычно представляет собой единый модуль (codec module), который осуществляет работу декодирования элементарных потоков в сырой формат (raw format) для последующей его обработки и кодирования или сжатия в тот или иной формат. Модули данного типа выполняют математическую часть процесса воспроизведения и/или преобразования мультимедийных потоков. Они не связаны с модулями демультиплексирования и мультиплексирования. Они не взаимодействуют напрямую с устройствами и источниками мультимедиа, а реализуют исключительно алгоритмы.
Работа модулей осуществляется в порядке, представленном на рис. 28.
Размещено на http://www.allbest.ru/
Рис. 28 Порядок работы модулей библиотеки VLC при транскодировании мультимедийного потока
Подготовка к анализу структуры модулей
Для анализа исходного кода необходимо определить модули, задействованные в работе системы. Для этого совершили тестовый прогон с отладочной печатью.
Параметры запуска системы:
-vvv -I rc http://192.168.0.3:8080/ch1:sout=#transcode{vcodec=h264,fps=17,vb=512,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100,deinterlace}:udp{dst=127.0.0.1:10010}:ttl=17 --extraintf=http:logger --verbose=3 --file-logging --logfile=D:\vlc-log.txt
Отладочная печать, полученная при тестовом прогоне, приведена в Приложении 2.
В соответствие с данными отладочной печати, определяем задействованные модули доступа, демультиплексирования, декодирования, кодирования и мультиплексирования.
На анализ были выбраны следующие строки:
main debug: using sout access module "access_output_udp"
main debug: `http://192.168.0.3:8080/ch1' gives access `http' demux `' path `192.168.0.3:8080/ch1'
main debug: creating demux: access='http' demux='' path='192.168.0.3:8080/ch1'
main debug: creating access 'http' path='192.168.0.3:8080/ch1'
access_http debug: http: server='192.168.0.3' port=8080 file='/ch1'
access_http debug: protocol 'HTTP' answer code 200
access_http debug: Content-Type: application/octet-stream
main debug: using access module "access_http"
main debug: using demux module "ts"
main debug: TIMER module_need(): 151.000 ms - Total 151.000 ms / 1 intvls (Avg 151.000 ms)
main debug: looking for packetizer module: 21 candidates
main debug: using packetizer module "mpeg_audio"
main debug: using packetizer module "packetizer_mpegvideo"
mux_ts debug: shaping=200000 pcr=70000 dts_delay=400000
main debug: using sout mux module "mux_ts"
main debug: muxer support adding stream at any time
main debug: muxer prefers to wait for all ES before starting to mux
stream_out_transcode debug: codec audio=mp4a 44100Hz 2 channels 128Kb/s
stream_out_transcode debug: codec video=h264 0x0 scaling: 0.000000 512kb/s
main debug: using decoder module "mpeg_audio"
avcodec debug: libavcodec initialized (interface 0x350500)
avcodec debug: found encoder MPEG AAC Audio
main debug: using encoder module "avcodec"
avcodec debug: libavcodec already initialized
avcodec debug: trying to use direct rendering
avcodec debug: ffmpeg codec (MPEG-1/2 Video) started
main debug: using decoder module "avcodec"
x264 debug: version x264 0.115.X
main debug: using encoder module "x264"
Исходя из анализа данных строк, были выделены следующие модули:
Модули доступа: http, udp.
Модуль демультиплексирования: ts.
Модули декодирования: mpeg_audio (аудио), avcodec(видео MPEG-1/2).
Модули кодирования: x264 (видео), avcodec (аудио MPEG AAC).
Модуль мультиплексирования: sout_mux_ts.
Анализ структуры модулей
Анализ структуры модулей доступа
Модули доступа работают со структурой данных access_t, описанной в файле заголовка vlc_access.h.
Рис 29 Фрагмент диаграммы взаимодействия для модуля доступа
Исходный код рассматриваемых модулей представлен в Приложении 3.
Модуль доступа http описывается в файле http.c. Данный модуль содержит следующие методы:
Open(), OpenWithCookies() - методы открытия модуля.
Close() - закрытие модуля.
ReadData(), ReadICYMeta(), Read(), ReadCompressed() - методы чтения.
Seek() - метод сдвига курсора для чтения.
Control() - метод управления модулем.
Connect() - метод для открытия HTTP-соединения.
Request() - метод для создания и посылки HTTP-запроса.
Disconnect() - метод разрыва соединения.
cookie_get_content(), cookie_get_domain(), cookie_get_name(), cookie_append() - методы для работы с куки.
AuthReply(), AuthCheckReply() - методы аутентификации.
Модуль доступа udp описывается в файле udp.c. Данный модуль содержит следующие методы:
Open() - метод открытия модуля.
Close() - закрытие модуля.
Control() - метод для управления модулем.
BlockUDP() - работа с блоками UDP.
Анализ исходного кода модуля демультиплексирования
Модули демультиплексирования работают со структурой данных demux_t, описанной в файле заголовка vlc_demux.h.
Рис 30 Фрагмент диаграммы взаимодействия для модуля демультиплексирования
Модуль демультиплексирования ts описывается в файле ts.c. Данный модуль содержит следующие основные методы:
Open() - методы открытия модуля.
Close() - закрытие модуля.
Demux(), DemuxFile() - методы демультиплексирования.
Control() - метод управления модулем.
Также данный модуль содержит множество методов для работы с элементарными потоками.
Исходный код рассматриваемого модуля представлен в Приложении 3.
Анализ исходного кода модулей кодирования и декодирования
В основе работы модулей кодирования и декодирования лежат структуры данных encoder_t и decoder_t.
Рис. 31 Диаграмма взаимодействия для структуры кодировщика
Рис. 32 Фрагмент диаграммы взаимодействия для структуры декодировщика
Модуль avcodec описывается в файле avcodec/avcodec.c и содержит следующие основные методы:
OpenDecoder() - открытие декодировщика.
CloseDecoder() - закрытие декодировщика.
InitLibavcodec() - инициация кодека libav.
ffmpeg_OpenCodec() - открытие кодека ffmpeg.
ffmpeg_CopyPicture(), ffmpeg_GetFrameBuf(), ffmpeg_ReGetFrameBuf(), ffmpeg_ReleaseFrameBufI() - функции для работы с кадрами.
InitVideoDec(), DecodeVideo(), EndVideoDec() - декодирование видео.
Модуль кодека x264 описывается в файле x264.c и содержит следующие основные методы:
Open() - открытие кодека.
Close() - закрытие кодека.
Encode() - кодирование видео.
Анализ исходного кода модуля мультиплексирования
Модуль мультиплексирования mpeg-ts описан в файле mpeg/ts.c.
Данный модуль содержит следующие основные методы:
Open() - методы открытия модуля.
Close() - закрытие модуля.
Control() - управление модулем.
AddStream(), DelStream() - работа с потоками.
Mux() - мультиплексирование.
PEStoTS() - конвертирует элементарный поток в транспортный.
3.3 Разработка методов и приемов оптимизации работы и обеспечения стабильности системы
Как было сказано, при тестировании и анализе программных систем были выявлены недостатки в работе, связанные с обеспечением стабильности системы. Для эффективного решения данных проблем необходимо разработать систему методов и приемов для обеспечения стабильности.
Поиск программных ошибок и причин сбоев системы транскодирования
Для поиска программных ошибок и причин программных сбоев системы транскодирования была проведена программная отладка модулей VLC c выводом отладочной информации. В процессе отладки модулей и анализа исходного кода были найдены проблемы, а также участки кода, которые возможно модифицировать, в следующих модулях:
модуль демультиплексирования ts,
модуль декодирования видео avcodec,
модуль кодирования видео x264,
модуль мультиплексирования ts.
Отладочная информация модулей vlc приведена в Приложении 2.
В частности, в модуле демультиплекисрования ts и модуле кодирования видео x264 использовались глобальные переменные массивов, что может быть причиной «утечки памяти».
Также в модуле x264 были найдены переменные ссылочного типа, которые не уничтожались.
В модуле декодирования были найдены участки кода, вызывающие сбой при возникновении исключения в модуле демультиплексирования.
При анализе кода были выявлены участки кода типа «цикл» и «условие», которые можно модифицировать, тем самым ускорив работу программы и уменьшив вероятность возникновения ошибок.
Разработка методов и приемов обеспечения стабильности системы выделения спутниковых каналов
Исходя из анализа быстродействия и стабильности системы выделения спутниковых каналов, пришли к выводу, что система в плане быстродействия не нуждается в реорганизации. В плане же стабильности система нуждается в доработке.
Так как частота сбоев системы в среднем составляет 1 сбой на 1.5 суток, то возможным решением проблемы может стать мониторинг работы системы и перезапуск в случае «падения» системы. Все это решается с помощью системных утилит операционной системы Linux.
Разработка методов и приемов оптимизации работы и обеспечения стабильности системы транскодирования потоков
На основе анализа исходного кода библиотек VLC были выявлены недочеты в программном коде модулей библиотеки. Тем самым пути решения проблем со стабильностью и оптимизацией работы связаны с изменением программного кода модулей данных библиотек.
Для начала были выделены участки кода, которые нужно модифицировать.
В качестве инструмента для работы с исходным кодом библиотек на языке С++ использовался редактор программного кода среды разработки Microsoft Visual Studio 2010.
В код, в частности, были внесены следующие изменения:
· изменена видимость некоторых переменных с глобальных на локальные;
· добавлены вызовы деструкторов для некоторых переменных;
· реорганизованы циклы;
· модифицированы некоторые условия.
Внесенные изменения представлены в Приложении 4.
3.4 Разработка дополнительного программного обеспечения для обеспечения удобства пользования системой потокового вещания
В качестве дополнительных средств защиты от программных сбоев необходимо разработать систему мониторинга за состоянием системы вещания. Также для удобства управления вещанием необходимо спроектировать систему администрирования и управления мультимедийными потоками.
Средство мониторинга за состоянием системы вещания
Средство мониторинга за состоянием системы вещания представляет собой программное обеспечение, которое следит за работоспособностью системы в целом путем мониторинга процессов кодирования и вещания. Средство написано на языке программирования высокого уровня C# c использованием технологии.NET и SSH.
Средство способно самостоятельно запускать процесс вещания, отслеживать состояние памяти, занимаемой процессами транскодирования, перезапускать процессы кодирования при программных сбоях (Рис. 33).
Рис. 33 Средство мониторинга за состоянием системы вещания
Исходный код программного обеспечения для мониторинга за состоянием системы вещания приведен в Приложении 4.
Система администрирования комплекса вещания
Для администрирования системы вещания (запуска и остановки каналов, распределения доступа) была разработана система администрирования, которая была интегрирована с административной частью системы предоставления доступа к мультимедийному контенту Mytube.uz (рис. 34). Данная система была разработана с применением технологий ASP.NET и AJAX, языка программирования C#, языка разметки HTML. Также на языке Java был написан отдельный плагин к серверу вещания Wowza Media Server для реализации управления вещанием с сервера.
Данная система позволяет добавлять и удалять каналы, выбирать форматы вещания, получать статистические данные о подключениях, получать информацию о работе сервера вещания Wowza Media Server. Исходные коды приведены в Приложении 4.
Рис. 34 Система администрирования комплекса вещания
3.5 Описание структуры разработанной системы
Разработанный аппаратно-программный комплекс реализован по следующей схеме.
На компьютер под управлением сетевой операционной системы Linux/Ubuntu установлена и настроена спутниковая DVB-S2 плата. С помощью библиотек dvb-apps и утилит выделяются цифровые потоки с нескольких спутниковых каналов. Затем эти потоки по локальной сети поверх протокола HTTP в формате MPEG-2 перенаправляются на другой компьютер под управлением операционной системы Windows Server 2008. На данном компьютере при помощи программного обеспечения на основе открытого программного кода VideoLAN полученные потоки преобразуются из формата MPEG-2 в формат MPEG-4 AVC и по протоколу UDP транслируются на медиасервер Wowza, развернутый на мощном физическом сервере под управлением операционной системы Linux, с которого осуществляется трансляция пользователям. Система может быть улучшена путем добавления дополнительных звеньев в структуру (рис. 35).
Рис. 35 Структура аппаратно-программного комплекса мультимедийного вещания
Работа системы контролируется программным обеспечением написанном с использованием технологий.NET и Java.
3.6 Анализ полученных результатов
В результате работы создан аппаратно-программный комплекс потокового мультимедийного вещания, отвечающий требованиям стабильности и быстродействия. Данный комплекс был протестирован на базе существующей системы предоставления доступа к мультимедийному контенту (портал Mytube.uz). Комплекс имеет следующие технические характеристики:
Входной поток: DVB-S/S2 /MPEG-2 / 3Мбит/с.
Выходной поток: RTP/RTSP/MPEG-4 (H.264+AAC) / ~600 кбит/с.
Данный комплекс может быть использован для вещания спутниковых телевизионных каналов в сети Интернет при условии высокой пропускной способности от сервера до клиента (порядка 500-600 кбит/с).
Тесты на стабильность системы при первоначальных входных параметрах. Результаты тестирования представлены в таблицах 18 и 19.
Таблица 18
Результаты тестирования системы на стабильность
Время запуска |
Время остановки |
Время работы |
|
05.03.2013 10:15:07 |
07.03.2013 02:35:51 |
40:20:44 |
|
07.03.2013 10:10:18 |
09.03.2013 09:34:25 |
47:24:07 |
|
09.03.2013 09:22:45 |
11.03.2013 08:56:36 |
47:33:51 |
|
11.03.2013 09:12:49 |
12.03.2013 13:10:22 |
27:57:33 |
|
12.03.2013 13:52:22 |
14.03.2013 04:32:51 |
38:40:29 |
|
14.03.2013 09:40:12 |
15.03.2013 16:06:22 |
30:26:10 |
|
15.03.2013 16:43:22 |
17.03.2013 14:14:09 |
45:30:47 |
|
18.03.2013 10:18:14 |
19.03.2013 20:49:18 |
34:31:04 |
|
19.03.2013 21:16:18 |
21.03.2013 11:01:50 |
37:45:32 |
|
25.03.2013 10:07:44 |
26.03.2013 10:45:08 |
24:37:24 |
|
26.03.2013 10:59:08 |
28.03.2013 00:22:09 |
37:23:01 |
|
28.03.2013 10:20:19 |
29.03.2013 14:10:09 |
27:49:50 |
|
29.03.2013 14:37:09 |
31.03.2013 06:25:21 |
39:48:12 |
|
Среднее время работы |
36:54:31 |
Таблица 19
Результаты тестирования системы транскодирования на потребление системных ресурсов после внесения изменений
Время работы |
Размер потребляемой памяти (кбайт) |
|
00:00:16 |
79129 |
|
00:00:44 |
79138 |
|
00:01:15 |
79308 |
|
00:02:01 |
79226 |
|
00:10:21 |
79517 |
|
00:30:04 |
79793 |
|
01:02:21 |
80535 |
|
02:00:58 |
81486 |
|
04:10:45 |
83879 |
а)
б)
Рис. 36 Сравнительный график стабильности работы системы (а) и потребления системных ресурсов (б) до и после внесения изменений
Результаты тестирования комплекса после применения разработанных методов оптимизации и обеспечения стабильности показали увеличение показателя стабильности системы до 9 раз - с 4 до 36 часов бесперебойной работы. Дальнейшая бесперебойная работа системы обеспечивается дополнительным программным обепечением. Таким образом, можно сделать вывод о том, что разработанные методы построения аппаратно-программного комплекса, включая методы оптимизации и обеспечения стабильности, имеют хорошие результаты применения и могут быть использованы для аналогичных систем с варьирующимися характеристиками.
Выводы по главе III
Методология разработки аппаратно-программного комплекса мультимедийного вещания включает в себя методику выбора программного обеспечения для системы потокового мультимедийного вещания, методику анализа работы и сходного кода выбранного программного обеспечения на основе структурного анализа, разработку методов и приемов оптимизации работы и обеспечения стабильности системы, разработку дополнительного программного обеспечения для обеспечения удобства пользования и мониторинга за системой.
В данной задаче решено на первый план вынести модульность, то есть разбиение системы на отдельные модули (подсистемы), выполняющие решение различных задач, причем модули должны работать независимо друг от друга, взаимодействуя друг с другом по стандартизированным протоколам.
В разработке программного комплекса мультимедийного вещания необходим комплексный подход. Комплексный подход предполагает анализ возможных программных продуктов и выделение наиболее подходящих исходя из результатов тестирования на совместимость, качество, потребление системных ресурсов, стабильность и сравнительной оценки характеристик.
Применение разработанной методологии выбора программного обеспечения исследования были выделены программные продукты, наиболее подходящие для поставленных задач. Это следующие программные продукты: набор инструментов для работы со спутниковой DVB-S картой dvb-apps, предлагаемый проектом LinuxTV; набор программных библиотек для кодирования, декодирования, мультиплексирования и вещания цифровых мультимедийных потоков VLC, предлагаемый проектом VideoLAN; и программный коммерческий сервер потокового вещания Wowza Media Server, предлагаемый компанией Wowza Media Systems.
Методика анализа работы системы транскодирования основана на анализе исходного кода и программной отладки набора библиотек кодирования, декодирования и мультиплексирования цифровых мультимедийных потоков на основе открытого кода VLC, написанного на языке программирования С++.
В ходе анализа работы набора программных библиотек были найдены проблемные участки кода, требующие модификации и разработки дополнительных методов обеспечения стабильности программной системы потокового вещания. В соответствие с этим, были разработаны методы и приемы оптимизации работы и стабильности системы, основанные на внесении изменений в программный код и создания дополнительного программного обеспечения, контролирующего сбои в работе системы.
Также было разработано дополнительное программное обеспечение для удобства пользования системой с использованием технологий Java и.NET. Разработанный комплекс был протестирован на базе существующей системы предоставления доступа к мультимедийному контенту Mytube.uz.
Исходя из анализа полученных результатов, можно сделать вывод, что разработанный аппаратно-программный комплекс отвечает предъявленным требованиям и может использоваться в качестве средства вещания спутниковых каналов в сеть Интернет при условии обеспечения необходимой пропускной способности канала. В частности, данный комплекс подходит для вещания в сети TAS-IX.
Заключение
Исследования в области технологий потокового мультимедийного вещания - это одна из актуальных задач сферы информационных технологий и компьютерных коммуникаций. На сегодняшний день существует множество форматов представления и передачи мультимедийного контента в цифровом виде.
В работе приведена классификация и анализ форм и форматов представления мультимедийных данных. Исходя из анализа форматов представления мультимедийных данных, наиболее подходящими и перспективными формами представления мультимедийных данных являются форматы MPEG-2 и MPEG-4. На сегодняшний день на формате MPEG-2 базируются стандарты цифрового телевидения и радио (DVB, ATSC, ISDB, DAB). Однако данный формат предъявляет высокие требования к пропускной способности сети передачи данных (4-10 Мбит/с на один ТВ канал), серьезно ограничивает применение этого формата в рамках мультимедийного вещания. Решение проблем, связанных с требованиями к пропускной способности, лежит в применении формата MPEG-4, который требует гораздо меньшую пропускную способность канала (0,5-3 Мбит/с).
Также в работе дана классификация алгоритмов сжатия: потоковые и статические алгоритмы, алгоритмы сжатия с потерями и без потерь данных. Представлено математическое определение дискретного косинусного и инверсного дискретного косинусного преобразования, лежащих в основе множества алгоритмов компрессии и видео и аудиоданных. На примере стандарта MPEG-2 рассмотрена структура элементарного потока видеоданных. Поток видеоданных представляет собой иерархическую структуру, элементы которой строятся и объединяются друг с другом в соответствии с определенными синтаксическими и семантическими правилами (видеопоследовательность, группа изображений, изображение, срез, макроблок, блок).
Был проведен анализ процессов кодирования и декодирования видеоизображения, который показал, что в основе сжатия видеопотока лежат два основных принципа: подавление несущественных для визуального восприятия мелких деталей пространственного распределения отдельных кадров и устранение временной избыточности в последовательности кадров.
Одной из приоритетных задач в данной сфере исследований является задача создания комплексов потокового мультимедийного вещания. Однако финансовые ограничения и характерные особенности готовых бюджетных решений делают эту задачу трудной для конкретного типа источника и приемника мультимедийного контента.
Для эффективного решения данной задачи в рамках требований к техническим характеристикам и финансовых ограничений необходим комплексный подход, основанный на тщательном анализе возможных рисков, выборе подходящего программного обеспечения. Причем выбор программных продуктов основывается на анализе возможностей, достоинств и недостатков группы программных продуктов, выделении из нее тем самым подгруппы продуктов, которые составят основу будущей системы.
Дальнейшая работа в построении программной системы заключается в том, что выбранные программные продукты необходимо тщательно изучить, проанализировать их структуру, выявить проблемы влияющие на стабильность системы в целом. На основе этих результатов необходимо предпринять меры по обеспечению стабильности и быстродействия системы.
Для этого в работе разработана методика анализа исходного кода и программной отладки набора библиотек кодирования, декодирования и мультиплексирования цифровых мультимедийных потоков на основе открытого кода, написанного на языке программирования С++. Разработаны методы и приемы оптимизации работы и стабильности системы, основанные на внесении изменений в программный код и создания дополнительного программного обеспечения, контролирующего сбои в работе системы. Также было разработано дополнительное программное обеспечение для удобства пользования системой с использованием технологий Java и.NET.
Результатом работы является совокупность методик для построения комплекса потокового мультимедийного вещания, нацеленного на работу в сетях передачи данных со средней пропускной способностью.
Практический результат работы - программный комплекс системы мультимедийного потокового вещания спутниковых каналов с DVB-S карты в сеть Интернет, в ходе построения которого использовалась методология разработки, оптимизации и обеспечения стабильности, разработанная в данной работе. Разработанный комплекс был протестирован на базе существующей системы предоставления доступа к мультимедийному контенту Mytube.uz. В ходе тестирования были сделаны выводы, что разработанный аппаратно-программный комплекс отвечает предъявленным требованиям и может использоваться в качестве средства вещания спутниковых каналов в сеть Интернет при условии обеспечения необходимой пропускной способности канала, в частности в сети пирингового взаимодействия операторов.
Библиографический список
1. Закон Республики Узбекистан №560-II «Об информатизации» от 11.12.2003.
2. Постановление Президента Республики Узбекистан №ПП-1730 «О мерах по дальнейшему внедрению и развитию современных информационно-коммуникационных технологий» от 21.03.2012.
3. Постановление Президента Республики Узбекистан №ПП-1920 «О государственной программе «Год благополучия и процветания» от 14.02.2013.
4. Постановление Президента Республики Узбекистан №ПП-1957 «О дополнительных мерах по ускоренному развитию сферы услуг и сервиса в сельской местности в 2013 - 2016 годах» от 17.04.2013.
5. Каримов И.А. Последовательное продолжение курса на модернизацию страны - решающий фактор нашего развития / Доклад Президента Ислама Каримова на торжественном собрании, посвященном 18-летию Конституции Республики Узбекистан. Ташкент, 07.12.2010.
6. Каримов И.А. Наша главная задача - дальнейшее развитие страны и повышение благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном итогам социально-экономического развития страны в 2009 году и важнейшим приоритетам экономической программы на 2010 год. Ташкент, 29.01.2010.
7. Каримов И.А. Все наши устремления и программы - во имя дальнейшего развития родины и повышения благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании правительства по итогам социально-экономического развития страны в 2010 году и важнейшим приоритетам на 2011 год. Ташкент, 21.01.2011.
8. Каримов И.А. 2012 год станет годом поднятия на новый уровень развития нашей родины / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном основным итогам 2011 года и приоритетам социально-экономического развития на 2012 год. Ташкент, 19.01.2012.
9. Артюшенко В.М., Шелухин О.И., Афонин М.Ю. Цифровое сжатие видеоинформации и звука. М.: Дашков и Ко, 2004. 426 с.
10. Карякин В.Л. Цифровое телевидение. М.: Солон-Пресс, 2013. 448 с.
11. Ефимов С.Н. Цифровая обработка видеоинформации. М.: Science Press, 2007. 272 с.
12. Сергеенко B. C., Баринов. В. В. Сжатие данных, речи, звука и изображений в телекоммуникационных системах. М.: РадиоСофт, 2011. 360 с.
13. Сэломон Д. Сжатие данных, изображений и звука. М.: Техносфера, 2006. 368 с.
14. Jesse Russell. MPEG transport stream. 2012. 105 с.
15. Jesse Russell. MPEG-2. 2012. 102 с.
16. Jesse Russell. H.264/MPEG-4 AVC. 2012. 101 с.
17. Jesse Russell. MPEG-2. 2012. 102 с.
18. Jeroen Breebaart, Christof Faller. Spatial Audio Processing: MPEG Surround and Other Applications. Wiley-Interscience, 2008. 224 с.
19. Ричардсон Я. Видеокодирование. H.264 и MPEG-4 - стандарты нового поколения. М.: Техносфера, 2005. 368 с.
20. Wu D., Hou Y.T., Zhu W., et al. On end-to-end architecture for transporting MPEG-4 video over the Internet/ IEEE Trans. Circ. Syst. Video Technol. 2000. с. 923-941.
21. D.D.Clark, D.L.Tennenhouse, "Architectural considerations for a new generation of protocols," / SIGCOMM Symposium on Communications Architectures и Protocols, (Philadelphia, Pennsylvania), Sept. 1990. cc. 200-208.
22. Дональд Кнут. Искусство программирования (The Art of Computer Programming). Т. 1: Основные алгоритмы. М.: Вильямс, 2006. 720 с.
23. Дональд Кнут. Искусство программирования (The Art of Computer Programming). Т. 2: Получисленные алгоритмы. М.: Вильямс, 2007. 832 с.
24. Дональд Кнут. Искусство программирования (The Art of Computer Programming). Т. 3: Сортировка и поиск. М.: Вильямс, 2007. 824 с.
25. http://press-service.uz (Пресс-служба Президента Республики Узбекистан).
26. http://uzdtv.uz (UZDIGITAL TV).
27. http://www.cisco.com (Cisco Systems, Inc).
28. http://www.alcatel.ru (Alcatel).
29. http://www.minervanetworks.com (Minerva Networks).
30. http://www.mp3prozone.com (Coding Technologies).
31. http://www.divx-digest.com (DivX Digest).
32. http://www.dolby.com (Dolby Laboratories).
33. http://www.dvb.org (DVB Project).
34. http://www.mpeg.org (Index of MPEG resources on the Internet).
35. http://www.atsc.org (The Advanced Television Systems Committee, Inc.).
36. http://www.worlddab.org (The World DMB Forum).
37. http://www.videolan.org (VideoLAN, Йcole Centrale Paris).
38. http://www.vorbis.com (Vorbis.com. Open, Free Audio).
39. http://ffmpeg.org (FFmpeg).
40. http://linuxtv.org (LinuxTV).
41. http://www.wowza.com (Wowza Media Systems, Inc.).
42. http://www.adobe.com (Adobe Media Systems, Inc.).
Размещено на Allbest.ru
...Подобные документы
Составление мультимедийного годового отчета предприятия на примере ОСАО "Ингосстрах", "Ленэнерго", группы "Альфа-страхование". Поиск аналогов разработки, формулирование требований. Выбор программной платформы для реализации. Обзор мультимедийного отчета.
курсовая работа [3,7 M], добавлен 10.03.2015Жанры и форматы мультимедиа. Специфика интернета как медиаплатформы. Способы создания и распространения мультимедийного контента. Разработка контента мультимедийного интернет-портала о городских экстремальных видах спорта: аудитория, рубрикация и пр.
дипломная работа [3,1 M], добавлен 20.08.2017Потоковое мультимедиа - мультимедиа, которое непрерывно получается пользователем от провайдера потокового вещания. Попытки отображения мультимедиа информации на компьютерах. Разработка сетевых протоколов потокового вещания и развитие интернет технологий.
курсовая работа [386,3 K], добавлен 21.12.2010Разработка проекта мультимедийного электронного учебника по дисциплине "Компьютерные сети". Формирование требований пользователя. Структура входных и выходных данных, алгоритмы обработки. Рабочая документация: исходные модули, предварительные испытания.
курсовая работа [227,8 K], добавлен 09.03.2013Необходимые стандарты и форматы. Извлечение графики для верстки. Современные стандарты верстки. Разработка 3D-моделей и основных ракурсов. Интеграция системы статистики. Выбор методики и показателей экономической эффективности мультимедийного контента.
курсовая работа [1,4 M], добавлен 15.05.2014Внешний вид и преимущества проектора Acer, разрешение его матрицы и особенности передачи изображения. Обоснование выбора и технические характеристики проекционного экрана. Основные компоненты ноутбука. Работа по установке мультимедийного оборудования.
контрольная работа [472,9 K], добавлен 14.10.2012Беспроводные и проводные системы передачи данных. Методы обеспечения безошибочности передачи данных в сетях. Оценка зависимости показателей эффективности. Снижение вероятности появления ошибки сбора данных в соответствии с предъявленными требованиями.
дипломная работа [309,0 K], добавлен 14.10.2014Разработка и практическое внедрение мультимедийного обучающего курса по дисциплине "НЭК АСОИУ". Анализ свойств модифицированной LMS MOODLE и ее возможности по оказанию поддержки и структурированию контента. Эффективность подхода к формированию курса.
дипломная работа [3,2 M], добавлен 21.05.2009Разработка и реализация мультимедийного электронного учебника по дисциплине "Мультимедиа–технологии". Использование векторной графики. Передача данных в потоковом режиме. Работа со звуком. Применение Macromedia Flash в Web. Технология Symbol Conversation.
курсовая работа [2,8 M], добавлен 16.08.2012Использование программы Adobe Flash CS4 Professional для создания анимации и мультимедийного контента. Проектирование интерфейса электронного каталога музыкальной группы "Аквариум". Программная документация и способы загрузки мультимедийного содержимого.
курсовая работа [4,6 M], добавлен 05.12.2012Изучение понятия локальной вычислительной сети, назначения и классификации компьютерных сетей. Исследование процесса передачи данных, способов передачи цифровой информации. Анализ основных форм взаимодействия абонентских ЭВМ, управления звеньями данных.
контрольная работа [37,0 K], добавлен 23.09.2011Назначение и классификация компьютерных сетей. Распределенная обработка данных. Классификация и структура вычислительных сетей. Характеристика процесса передачи данных. Способы передачи цифровой информации. Основные формы взаимодействия абонентских ЭВМ.
контрольная работа [36,8 K], добавлен 21.09.2011Анализ применяемых технологий в мультисервисных сетях. Сосуществование сетей АТМ с традиционными технологиями локальных сетей. Характеристика сети передачи данных РФ "Электросвязь" Кемеровской области. Схема организации сети передачи данных, каналы связи.
дипломная работа [642,3 K], добавлен 02.11.2010Структура современных корпоративных сетей. Применение технологии Intranet в корпоративных сетях передачи данных. Принципы их построения и главные тенденции развития. Особенности стандартов Fast Ethernet и Gigabit Ethernet. Технология 100VG-AnyLAN.
курсовая работа [1,5 M], добавлен 02.07.2011Краткое описание терминологии, используемой в криптологии. Определение места криптографических методов защиты в общей системе обеспечения безопасности информации. Изучение простых шифров и оценка методов их взлома. Методы современного криптоанализа.
курсовая работа [52,3 K], добавлен 13.06.2012Технологии высокоскоростной передачи данных в локальных сетях. Расчет информационных потоков. Выбор сетевых стандартов. Разработка структуры сети, схемы прокладки кабелей. Выбор аппаратного и программного обеспечения. Разработка системы защиты информации.
дипломная работа [555,3 K], добавлен 19.01.2017Разработка программы, моделирующей работу методов случайного доступа к каналу передачи данных в локальных вычислительных сетях. Величины нормированной пропущенной нагрузки. Нормированная производительность протокола передачи. Протоколы канального уровня.
курсовая работа [141,2 K], добавлен 24.06.2013Расчет нагрузки от трансляции цифрового видеопотока в районы обслуживания провайдера для вещания в стандарте DVB-T. Обеспечение трафика услуг транспортной магистрали. Каналы передачи данных VoIP, IPTV, Интернет. Оборудование и системы управления сетью.
курсовая работа [756,8 K], добавлен 08.02.2016Взаимодействие компьютеров, работающих в сетях разнообразной структуры, с использованием различного программного обеспечения. Стандарты беспроводной передачи данных. Стандарты проводных ethernet-сетей. Нормы технической организации компьютерных сетей.
реферат [28,3 K], добавлен 26.05.2015Выбор технологий и дизайнерских решений. Создание мультимедийного продукта. Проектирование содержания и среды представления приложения. Верстка страниц и таблиц стилей для форматирования. Функциональные элементы, реализованные на стороне клиента.
курсовая работа [1,3 M], добавлен 24.01.2016