Информатизации и телекоммуникационных технологий республики узбекистан



страница9/12
Дата01.12.2017
Размер0.91 Mb.
ТипИсследование
1   ...   4   5   6   7   8   9   10   11   12

Выводы по главе II


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

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

Исследование структуры элементарного потока видеоданных на примере стандарта MPEG-2 показало, что поток видеоданных представляет собой иерархическую структуру, элементы которой строятся и объединяются друг с другом в соответствии с определенными синтаксическими и семантическими правилами (видеопоследовательность, группа изображений, изображение, срез, макроблок, блок). Анализ процессов кодирования и декодирования видеоизображения показал, что в основе сжатия видеопотока лежат два основных принципа: подавление несущественных для визуального восприятия мелких деталей пространственного распределения отдельных кадров и устранение временной избыточности в последовательности кадров.

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



Глава III. Реализация аппаратно-программного комплекса потокового мультимедийного вещания.


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

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

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

По результатам анализа разработаны соответствующие методы и приемы улучшения работы системы, внесены изменения в программное обеспечение и разработано дополнительное программное обеспечение для разрабатываемой системы.


1. Разработка методики выбора программного обеспечения


Исходя из требований, предъявленных к разрабатываемой системе в главе 1, характеристик и возможностей программного обеспечения сторонних производителей для решений мультимедийной системы вещания, на рассмотрение было выбрано несколько программных продуктов для реализации системы потокового мультимедийного вещания. В их числе решения VideoLAN, FFmpeg, LinuxTV, dvbtools, Wowza Media Systems и Adobe Media Systems.

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


Выбор программного обеспечения для выделения спутниковых каналов, их кодирования и ретрансляции в локальную сеть.


Исходя из возможностей выбранного на рассмотрение программного обеспечения, для выделения спутниковых каналов подходят программные решения, предлагаемые проектами VideoLAN (VLC), LinuxTV(dvb-apps) и dvbtools (dvbtune/dvbstream). Так как данная возможность в рассматриваемых решениях работает только при условии развертывания их в операционной системе Linux, то для сервера, работающего со спутниковой DVB-S картой, был выбран дистрибутив операционной системы Linux “Ubuntu” с версией ядра 3.2.

Для выбора определенного решения были проведены тесты на совместимость программного обеспечения со спутниковой картой.

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

Параметры тестирования:

Процессор: Intel(R) Pentium(R) CPU B940 @ 2.00GHz 2.00GHz

Операционная система: Ubuntu 12.04

Версия ядра: 3.2

Спутниковая карта: TeVii DVB-S2 S464 PCI

Спутник: Eutelsat Hot Bird 13.0°E

Частота транспондера: 10719 МГц

Поляризация: V (Вертикальная)

Символьная скорость: 27500 кбод

Канал: 4 Fun TV.



Тестирование на совместимость.

Совместимость со спутниковой картой прошли два продукта – это dvb-apps проекта LinuxTV и dvbtools. VLC (VideoLAN) не прошел тест на совместимость, так как в ходе тестирования невозможно было выделить спутниковый канал. Результаты тестирования на совместимость с системой и спутниковой картой показаны в таблице 6.

Таблица 6

Результаты тестирования программных продуктов на совместимость



Программный

продукт

VLC(VideoLAN)

dvb-apps (LinuxTV)

dvbtools

Инсталляция

Успешно

Успешно

Успешно

Определение спутниковой карты

Успешно

Успешно

Успешно

Сканирование каналов

Не требуется

Успешно

Успешно

Выделение канала

Тест не пройден

Успешно

Успешно

Трансляция потока

Тест не пройден

Успешно

Успешно

Таким образом, для дальнейшего рассмотрения выбраны два программных продукта: dvb-apps и dvbtools.

Данные продукты были протестированы на анализ производительности, потребления системных ресурсов, качество вещания и стабильность системы.

Тестирование качества вещания.

В результате тестирования качества вещания оба продукта показали примерно одинаковые результаты, удовлетворяющие требованиям системы.



Тестирование на производительность и потребление системных ресурсов.

Для тестирования на производительность и потребление системных ресурсов были сделаны замеры потребляемой оперативной памяти (Таблицы 7 и 8 и Рис. 24 и 25).

Таблица 7

Потребление оперативной памяти продуктом dvb-apps



Время работы приложения

Размер потребляемой памяти (кбайт)

00:00:08

75268

00:00:30

75284

00:01:21

75466

00:02:30

75462

00:05:16

75502

00:08:14

75656

00:18:45

75896

00:35:47

76326

01:06:21

77364

02:07:07

79520

04:15:33

83603


Рис. 24. График потребления оперативной памяти продуктом dvb-apps


Таблица 8

Потребление оперативной памяти продуктом dvbtools



Время работы приложения

Размер занимаемой памяти (кбайт)

00:00:12

64125

00:00:37

64162

00:01:04

64248

00:02:54

64295

00:08:01

64466

00:12:33

64848

00:24:07

65439

00:31:01

66592

01:00:14

69043

02:00:08

73705

04:45:07

83242


Рис. 25. График потребления оперативной памяти продуктом dvbtools


Судя по результатам тестирования на производительность и потребление системных ресурсов, оба продукта удовлетворяют требованиям системы. Однако продукт dvb-apps проекта LinuxTV показал более лучшие результаты по сравнению с продуктом dvbtools.

Тестирование на стабильность системы.

Для тестирования на стабильность работы было измерено среднее время работы систем до первого сбоя (таблицы 9 и 10).

Таблица 9

Результаты тестирования на стабильность dvb-apps.



Время запуска

Время остановки

Время работы

06.10.2012 10:26:11

08.10.2012 05:13:05

42:46:54

08.10.2012 10:30:58

10.10.2012 01:57:19

39:26:21

10.10.2012 10:42:32

12.10.2012 00:02:44

37:20:12

12.10.2012 09:20:19

13.10.2012 22:28:14

37:07:55

14.10.2012 09:04:52

15.10.2012 14:54:01

29:49:09

15.10.2012 15:15:01

17.10.2012 07:29:45

40:14:44

17.10.2012 09:36:15

18.10.2012 22:54:59

37:18:44

19.10.2012 09:45:45

21.10.2012 03:53:34

42:07:49

21.10.2012 10:53:53

22.10.2012 18:02:55

31:09:02

22.10.2012 18:19:55

24.10.2012 10:39:38

40:19:43

25.10.2012 09:43:15

27.10.2012 00:08:15

38:25:00

27.10.2012 09:12:27

28.10.2012 13:45:08

28:32:41

28.10.2012 13:55:08

29.10.2012 16:33:50

26:38:42

Среднее время работы

36:15:09

Таблица 10



Результаты тестирования на стабильность dvbtools

Время запуска

Время остановки

Время работы

01.11.2012 10:26:11

01.11.2012 12:05:38

01:39:27

01.11.2012 12:32:38

01.11.2012 16:39:35

04:06:57

01.11.2012 17:03:35

01.11.2012 20:04:33

03:00:58

01.11.2012 20:47:33

02.11.2012 01:28:50

04:41:17

02.11.2012 09:21:17

02.11.2012 14:04:13

04:42:56

02.11.2012 14:10:13

02.11.2012 16:51:45

02:41:32

02.11.2012 17:42:45

02.11.2012 22:38:05

04:55:20

03.11.2012 09:06:59

03.11.2012 11:53:01

02:46:02

03.11.2012 12:47:01

03.11.2012 16:16:08

03:29:07

03.11.2012 17:11:08

03.11.2012 19:45:03

02:33:55

03.11.2012 19:57:03

04.11.2012 00:51:57

04:54:54

04.11.2012 09:43:45

04.11.2012 13:22:58

03:39:13

04.11.2012 13:35:58

04.11.2012 15:17:55

01:41:57

Среднее время работы

03:27:12

В результате тестирования на стабильность системы были выявлены недостатки в обоих продуктах, связанные с непредвиденным завершением работы в результате «утечки памяти» и кратковременных задержек в работе DVB-S карты. Однако продукт dvb-apps проекта LinuxTV показал лучшие результаты по сравнению с продуктом dvbtools исходя из расчета количества сбоев на единицу времени и способности программного обеспечения самостоятельно возобновлять работу после кратковременных некритических сбоев в работе.

По итогам тестирования построена таблица итоговой оценки критериев программного обеспечения. Одновременно с этим была дана оценка важности критериев для оптимального выбора программного обеспечения. Максимальная оценка 4, минимальная -1 (Таблица 11).

Таблица 11

Оценка программного обеспечения для выделения спутниковых каналов


Решение

Критерий

dvbtools

dvb-apps

Коэффициент важности критерия

Качество вещания

4

4

4

Производительность

4

4

2

Потребление системных ресурсов

3

4

1

Стабильность

1

3

3

Общая оценка

30

37



Таким образом, для выделения спутниковых каналов и трансляции их на сервер потокового вещания наиболее оптимальным является вариант решения, предлагаемый проектом LinuxTV, – dvb-apps.


Выбор программного обеспечения для сервера потокового мультимедийного вещания


Для выбора программного обеспечения сервера потокового мультимедийного вещания били расммотрены программные решения серверов вещания Adobe Flash Media Server и Wowza Media Server. Исходя из характеристик рассматриваемых продуктов были даны сравнительные оценки характеристик рассматриваемых систем (Таблица 12).

Анализ поддерживаемых протоколов.

Обе системы поддерживают семейство протоколов реального времени RTMP (Real-time Messaging Protocols), удобные приема потоков и вещания в сеть. Кроме того данные продукты поддерживают протоколы вещания HTTP Streaming для iPhone/iPad.

Продукт Wowza поддерживает дополнительно протоколы вещания Silverlight (Smooth Streaming), QucikTime/3GPP (RTSP/RTP) и IPTV (MPEG-TS).

Таким образом решение Wowza в данном случае выигрывает по сравнению с решением Adobe.



Анализ поддерживаемых платформ.

Исходя из того факта, что в плане быстродействия и финансовых затрат эффективнее было бы использовать операционную систему Linux, делаем вывод, что Wowza Media Server в данном случае более приемлем, по сравнению с Adobe Flash Media Server, так как Wowza может быть развернут на любой операционной системе. Flash Media Server же может быть развернут только на операционных системах семейства Windows NT и на дистрибутиве Linux Red Hat.

Объясняется этот факт тем, что Wowza Media Server написан на языке Java и работает под управлением виртуальной Java машины. То есть он платформонезависимый. Adobe Flash Media Server написан на языке Action Script, который поддерживается далеко не всеми платформами.

Анализ форматы вещания и записи мультимедийного контента.

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



Анализ возможностей перекодирования «на лету».

В данном плане Wowza Media Server значительно опережает Flash Media Server, поддерживая перекодирование на лету множества форматов, в отличие от Adobe Flash Media Server, который поддерживает только формат RTMP (Flash & H.264/AAC), что значительно будет влиять на гибкость разрабатываемой системы.

Таблица 12

Оценка программного обеспечения для организации сервера потокового вещания



Продукт

Возможности

Adobe Flash Media Server 4.5

Wowza Media
Server 3


Коэффициент важности критерия

Поддерживаемые протоколы

4

5

5

Цена

3

4

1

Поддерживаемые платформы 

3

5

2

Форматы вещания и записи мультимедийного контента

5

5

4

Возможность перекодирования «на лету»

3

5

3

Итоговая оценка

58

74



Таким образом, для организации сервера потокового мультимедийного вещания наиболее оптимальным является вариант решения, предлагаемый Wowza Media Systems, – Wowza Media Server.

В связи с тем, что сервер Wowza не предоставляет возможность перекодирования формата MPEG-2 в формат MPEG-4, необходимо выбрать программное обеспечение для транскодирования цифровых потоков, поступающих в формате MPEG-2 c сервера, работающего с DVB-картой, в формат MPEG-4 AVC (H.264) и дальнейшей его трансляции на сервер вещания Wowza Media Server.

Выбор программного обеспечения для транскодирования потоков


Для выбора программного обеспечения для транскодирования цифровых потоков из формата MPEG-2 в формат MPEG-4 AVC были рассмотрены программные решения, разрабатываемые проектами VideoLAN (VLC) и FFmpeg.

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

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

Для выбора определенного решения были проведены тесты на производительность, потребление системных ресурсов, качество кодирования и стабильность работы.



Параметры тестирования:

Процессор: Intel(R) Core(TM) i7 950 @ 3.07GHz

RAM: 6 GB

Операционная система: Microsoft Windows Server 2008

Входной цифровой поток: HTTP/ MPEG-2 TS/ 720x576/ 25 к/с/ ~3Мбит/с.

Выходой цифровой поток: UDP/ MPEG-4 AVC (H.264 + AAC)/ 720x576/ 17к/c/ 512+128 кбит/с



Тестирование качества кодирования.

В плане качества вещания оба продукта показали примерно одинаковые результаты, удовлетворяющие требованиям системы.



Тестирование на производительность и потребление системных ресурсов.

Для тестирования на производительность и потребление системных ресурсов были сделаны замеры потребляемой оперативной памяти (таблицы 13 и 14 и рис. 26 и 27).

Таблица 13

Потребление оперативной памяти продуктом VLC



Время замера

Размер занимаемой памяти (кбайт)

00:00:10

85789

00:00:21

86112

00:01:02

86668

00:02:15

87106

00:04:41

88398

00:08:33

91122

00:18:00

96238

00:30:10

106506

01:00:10

127187

01:55:01

168542



Рис. 26. График потребления оперативной памяти продуктом VLC


Таблица 14

Потребление оперативной памяти продуктом FFmpeg



Время работы приложения

Размер занимаемой памяти (кбайт)

00:00:00

75214

00:00:42

76218

00:01:21

77268

00:02:12

79372

00:04:42

83380

00:10:00

91314

00:36:00

107367

00:50:00

139672


Рис. 27. График потребления оперативной памяти продуктом FFmpeg

По результатам тестирования на производительность и потребление системных ресурсов, оба продукта удовлетворяют требованиям системы. Библиотека FFmpeg в плане потребления системных ресурсов показала результаты, немного превосходящие результаты тестирования VLC.

Тестирование на стабильность работы.

Для тестирования на стабильность работы было измерено среднее время работы систем до первого сбоя (таблицы 15 и 16).

Таблица 15

Результаты тестирования на стабильность VLC.



Время запуска

Время остановки

Время работы

08.11.2012 10:26:11

08.11.2012 14:27:10

04:00:59

08.11.2012 15:10:10

08.11.2012 18:17:10

03:07:00

08.11.2012 18:24:10

08.11.2012 21:57:10

03:33:00

09.11.2012 10:45:12

09.11.2012 15:37:57

04:52:45

09.11.2012 16:05:57

09.11.2012 19:29:02

03:23:05

09.11.2012 19:53:02

09.11.2012 23:14:04

03:21:02

10.11.2012 09:52:57

10.11.2012 14:40:06

04:47:09

10.11.2012 15:10:06

10.11.2012 19:36:18

04:26:12

10.11.2012 19:39:18

10.11.2012 23:44:21

04:05:03

11.11.2012 10:58:54

11.11.2012 15:13:33

04:14:39

11.11.2012 15:40:33

11.11.2012 20:36:17

04:55:44

11.11.2012 21:31:17

12.11.2012 02:15:09

04:43:52

12.11.2012 09:17:23

12.11.2012 13:32:01

04:14:38

Среднее время работы

04:08:05

Таблица 16



Результаты тестирования на стабильность библиотек FFmpeg.

Время запуска

Время остановки

Время работы

08.11.2012 10:26:11

08.11.2012 10:32:51

00:06:40

08.11.2012 10:37:51

08.11.2012 12:17:48

01:39:57

08.11.2012 12:20:48

08.11.2012 12:25:58

00:05:10

08.11.2012 12:50:58

08.11.2012 14:50:01

01:59:03

08.11.2012 15:18:01

08.11.2012 16:35:54

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.





Поделитесь с Вашими друзьями:
1   ...   4   5   6   7   8   9   10   11   12


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница