Введение 7
1 Проведение аналитики 9
1.1 Исследование существующих продуктов 9
1.2 Результаты исследования 11
2 Формирование технического задания для реализации программного
комплекса 13
2.1 Постановка задачи 13
2.2 Требования по обработке входящего видеопотока 13
2.3 Требования к исходящему видеопотоку со стороны социальных
сетей 14
2.4 Требования к программному комплексу при передаче
выходного видеопотока 15
2.5 Дополнительные требования 15
3 Стек технологий, используемых в программном комплексе 16
3.1 Сравнение и выбор мультимедийного ядра 16
3.2 Выбор технологии для реализации GUI 18
4 Архитектура Pipeline 19
4.1 Работа с GStreamer 19
4.2 Схема Pipeline 19
4.3 Структура контейнера Screen Source 21
4.4 Структура контейнера Video/Audio Encoder 22
4.5 Решение задачи о параллельной доставке видео-контента в
несколько сетей 24
4.6 Адаптивный битрейт 25
4.7 Другие модули используемые в Pipeline 28
5 Модуль анализа технических характеристик персонального компьютера 29
6 Разработка графического интерфейса пользователя 30
Заключение
Список использованных источников и литературы
Видеоконтент уже давно доминирует в общем объеме передаваемых данных в сети Интернет. По прогнозам компании Cisco, к 2021 году общий объём интернет-трафика составит 3,3 зеттабайта (1 зеттабайт содержит 1021 байтов), из которых 82% будет составлять передача видео (по сравнению с 73% сегодня). Каждый месяц через глобальную паутину будет передаваться видео общей продолжительностью 5 миллионов лет.
71% от всего трафика к 2021 году будет передаваться через сети доставки контента (CDN), по сравнению с 52% сегодня. 68% всего трафика CDN будет проходить через частные сети доставки контента, таких как CDN компаний Google, Facebook (сегодня это 61%).
Высокий спрос на видеоконтент обусловлен многими драйверами, в числе которых можно выделить повышение пропускной способности каналов связи, рост количества мобильных устройств, развитие стриминговых сервисов. Одним из таких факторов будет стремительный рост потребления живого видеоконтента, то есть трансляции в режиме реального времени.
Сегодня все больше и больше производителей video-контента уже перешли на вещание видео на своем сайте (телекомпании, спортивные команды, интернет телевидение, журналисты, блогеры и т.д.) а также завели страницы в социальных сетях и начинают включать вещание туда. В каждой из социальных сетей и видео-хостингах аккумулировалась достаточная аудитория, которая, как правило, определилась со своей основной соцсетью и там коммуницирует. Поэтому производители контента хотят и вынуждены "достучатся" до каждой социальной сети и предоставить свой контент данной аудитории.
Производителей живого видеоконтента можно разделить на следующие группы:
1. Пользователи, для которых создание и распространение видеоконтента - профильный род деятельности. Сюда входят СМИ, занимающиеся трансляцией видео в прямом эфире. Постоянно (телеканалы) и эпизодически (интернет- порталы, журналисты-фрилансеры, студии по производству видео). Кроме этого, это видеоблогеры.
2. Пользователи, для которых создание и распространение видеоконтента - непрофильный род деятельности. Сюда относятся спортивные клубы (профессиональные и непрофессиональные), организаторы спортивных и образовательных мероприятий, вебинаров.
Общей проблемой для этих групп является фрагментированность аудитории между разными социальными сетями. Инструментов для решения такой потребности не много, в то же время они не адаптированы для "мобильного" использования - условий, где отсутствует инфраструктура для организации вещания.
В данной работе был проведен анализ существующего программного обеспечения для вещания видеопотока через протокол RTMP. По итогам исследования был составлен ряд технических критериев, на основании которых был разработан программный комплекс для вещания видео-контента одновременно (параллельно) в несколько сетей доставки контента. Программный комплекс обладает простым и интуитивно понятным интерфейсом с широким спектром возможностей, среди которых выделяется поддержка адаптивного битрейта, обеспечивающая высокую стабильность при передаче видео-контента. Тем самым доказывая работоспособность и достижимость функционала итогового продукта.
1. Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, Stefan Kost GStreamer 1.10 Application Development Manual, 2017. - 160с.
2. Edward J. Giorgianni, Thomas E. Madden. Digital Color Management: Encoding Solutions, 2009. - 432с.
3. Ричардсон Я. Видеокодирование. H.264 и MPEG-4 - стандарты нового поколения. - М.: ТЕХНОСФЕРА, 2005. - 368с.
4. Сэломон Д. Сжатие данных, изображений и звука: Пер. с англ. - М.: Техносфера, 2004. - 368с.
5. Шульгин В.И. Основы теории передачи информации. Часть 1 Экономное кодирование. - Харьков, ХАИ, 2003. - 103с.
6. wmic | Microsoft Docs[Электронный ресурс] // URL: https://docs.microsoft.com/ru-ru/windows-server/administration/windows- commands/wmic (дата обращения 20.08.2019)
7. Прэтт У. Цифровая обработка изображений (в 2-х книгах): Пер. с англ. Книга 1. - М.: Изд-во "Мир", 1982. - 312с.
8. Ковалгин Ю.А., Вологодин Э.И. Цифровое кодирование звуковых сигналов - СПб. - КОРОНА-принт, 2004. - 240с.