Научная статья на тему 'РЕАЛИЗАЦИЯ МОБИЛЬНОЙ СИСТЕМЫ МНОГОТОЧЕЧНОЙ ВИДЕОСВЯЗИ ДЛЯ ЭЛЕКТРОННОГО ОБУЧЕНИЯ'

РЕАЛИЗАЦИЯ МОБИЛЬНОЙ СИСТЕМЫ МНОГОТОЧЕЧНОЙ ВИДЕОСВЯЗИ ДЛЯ ЭЛЕКТРОННОГО ОБУЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
25
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭЛЕКТРОННОЕ ОБРАЗОВАНИЕ / ВИДЕОСВЯЗЬ / WEBRTC / JANUS / RTC / ВИДЕОКОНФЕРЕНЦСВЯЗЬ / ELECTRONIC EDUCATION / VIDEO COMMUNICATION / VIDEO CONFERENCING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бешекенов Сагындык Карабаевич

Видеотелефония включает в себя технологии для приема и передачи аудио- и видеосигналов пользователями в различных местах для общения между людьми в режиме реального времени. Видеоконференция подразумевает использование этой технологии для групповой или организационной встречи, где цель состоит в том, чтобы создать иллюзию, что удаленные участники находятся в одной комнате. Текущая видеосвязь все больше переходит на технологию WebRTC. Данная технология позволяет создавать видеоконференции без использования аппаратных средств, достаточно браузера в смартфоне, подключенного через мобильную сеть. Система видеоконференцсвязи создается для общения в режиме реального времени и имеет требования к задержке менее секунды. Поэтому протоколы должны уметь поддерживать согласования битрейтов, кодеков, способов вещания. В рамках данного исследования разработана интеллектуальная платформа проведения видеоконференций в образовательной среде, на базе открытого сервера коммутации видеопотоков Janus. Созданная платформа позволяет проводить обучение в режиме видеоконференции и интегрируется в систему Moodle.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бешекенов Сагындык Карабаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF MOBILE MULTI-POINT VIDEO-COMMUNICATION FOR E-LEARNING

Video telephony includes technologies for receiving and transmitting audio-video signals by users in various places, for real-time communication between people. Videoconferencing involves the use of this technology for a group or organizational meeting, where the goal is to create the illusion that the remote participants are in the same room. Ongoing video calls are increasingly shifting to WebRTC technology. This technology allows you to create video conferencing without using hardware, just a browser in your smartphone connected via a mobile network. A Wi-Fi conferencing system is created for real-time communication and has a delay requirement of less than a second. Therefore, the protocols should be able to support the coordination of bit rates, codecs, broadcast methods. In the framework of this study, an intelligent video conferencing platform was developed in the educational environment, based on the Janus open video stream switching server. The created platform allows for training via videoconference and is integrated into the Moodle system

Текст научной работы на тему «РЕАЛИЗАЦИЯ МОБИЛЬНОЙ СИСТЕМЫ МНОГОТОЧЕЧНОЙ ВИДЕОСВЯЗИ ДЛЯ ЭЛЕКТРОННОГО ОБУЧЕНИЯ»

УДК 004.9

РЕАЛИЗАЦИЯ МОБИЛЬНОЙ СИСТЕМЫ МНОГОТОЧЕЧНОЙ ВИДЕОСВЯЗИ ДЛЯ ЭЛЕКТРОННОГО ОБУЧЕНИЯ

Бешекенов Сагындык Карабаевич, студент, направление подготовки 02.03.02 Фундаментальная информатика и информационные технологии, Оренбургский государственный университет, Оренбург e-mail: cb7spaces.ru@gmail.com

Научный руководитель: Ушаков Юрий Александрович, кандидат технических наук, доцент, доцент кафедры геометрии и компьютерных наук, Оренбургский государственный университет, Оренбург e-mail: unpk@mail.ru

Аннотация. Видеотелефония включает в себя технологии для приема и передачи аудио- и видеосигналов пользователями в различных местах для общения между людьми в режиме реального времени. Видеоконференция подразумевает использование этой технологии для групповой или организационной встречи, где цель состоит в том, чтобы создать иллюзию, что удаленные участники находятся в одной комнате. Текущая видеосвязь все больше переходит на технологию WebRTC. Данная технология позволяет создавать видеоконференции без использования аппаратных средств, достаточно браузера в смартфоне, подключенного через мобильную сеть. Система видеоконференцсвязи создается для общения в режиме реального времени и имеет требования к задержке менее секунды. Поэтому протоколы должны уметь поддерживать согласования битрейтов, кодеков, способов вещания. В рамках данного исследования разработана интеллектуальная платформа проведения видеоконференций в образовательной среде, на базе открытого сервера коммутации видеопотоков Janus. Созданная платформа позволяет проводить обучение в режиме видеоконференции и интегрируется в систему Moodle.

Ключевые слова: электронное образование, видеосвязь, WebRTC, Janus, RTC, видеоконференцсвязь.

Для цитирования: Бешекенов С. К. Реализация мобильной системы многоточечной видеосвязи для электронного обучения // Шаг в науку. - 2020. - № 2. - С. 33-38.

IMPLEMENTATION OF MOBILE MULTI-POINT VIDEO-COMMUNICATION FOR E-LEARNING

Beshekenov Sagyndyk Karabaevich, student, training program 02.03.02 Fundamental computer science and information technology, Orenburg State University, Orenburg e-mail: cb7spaces.ru@gmail.com

Research advisor: Ushakov Yuri Aleksandrovich, Ph. D. in Technical Sciences, Associate Professor, Associate Professor of the Department of Geometry and Computer Science, Orenburg State University, Orenburg e-mail: unpk@mail.ru

Abstract. Video telephony includes technologies for receiving and transmitting audio-video signals by users in various places, for real-time communication between people. Videoconferencing involves the use of this technology for a group or organizational meeting, where the goal is to create the illusion that the remote participants are in the same room. Ongoing video calls are increasingly shifting to WebRTC technology. This technology allows you to create video conferencing without using hardware, just a browser in your smartphone connected via a mobile network. A Wi-Fi conferencing system is created for real-time communication and has a delay requirement of less than a second. Therefore, the protocols should be able to support the coordination of bit rates, codecs, broadcast methods. In the framework of this study, an intelligent video conferencing platform was developed in the educational environment, based on the Janus open video stream switching server. The created platform allows for training via videoconference and is integrated into the Moodle system.

Key words: electronic education, video communication, WebRTC, Janus, RTC, video conferencing.

Cite as: Beshekenov, S.K. (2020) [Implementation of a mobile multipoint video communication system for e-learning]. Shag v nauku [Step into science]. Vol. 2, рр. 33-38.

Введение

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

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

исследовать, общаться, анализировать и делиться информацией и идеями друг с другом [6].

Существует в основном два вида систем видеоконференций:

1. В аппаратных системах все необходимые компоненты упакованы в единое оборудование, обычно это консоль с высококачественной видеокамерой с дистанционным управлением. Консоль содержит все электрические интерфейсы, управляющий компьютер и программный или аппаратный кодек [3].

2. Программные системы обладают меньшей производительностью, но существенно выигрывают в цене, гибкости и универсальности. Некоторые системы позволяют обходиться только браузером и веб-камерой - не нужно устанавливать никакое дополнительное ПО [1]. Система видеоконферен-цсвязи создается для общения в режиме реального времени и имеет требования к задержке менее секунды. Поэтому протоколы должны уметь поддерживать согласования битрейтов, кодеков, способов вещания. В рамках данного исследования разрабатывается интеллектуальная платформа проведения видеоконференций в образовательной среде. Она будет применяться для дистанционной подготовки школьников и для повышения квалификации учителей [2].

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

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

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

Обзор средств реализации

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

В целом существует 3 основных модели развертывания многоточечной видеосвязи для реализации электронного обучения:

1. Mesh - где каждый участник отправляет свои медиа данные всем другим участникам [1].

2. MCU (multiconference unit) - где участник «говорит» с центральным объектом, который смешивает все входные данные и отправляет один поток каждому участнику.

3. SFU (Selective Forwarding Unit) - принимает входящие медиапотоки от всех пользователей, а затем решает, какие потоки отправлять каким пользователям, все модели показаны на рисунке 1.

Рисунок 1. Модели развертывания многоточечной видеосвязи

Подводя итог можно сказать, что модель Mesh не подходит для реализации в коммерческих проектах, из-за высокой нагрузки на сеть, так как каждый участник видеоконференции отправляет свои медиа данные всем другим участникам в сеансе, а также получает от них все медиа потоки. Модель MCU является лучшем решением, когда дело касается нагрузки на сеть, но из-за обработки видеопотока повышается нагрузка на процессор. Поскольку одновременно количество участников может быть до 100, и учебные заведения не обладают большими

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

Архитектура системы

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

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

созданной диаграммы составляется план дальнейшей разработки приложения. Разработанная диаграмма вариантов использования представлена на рисунке 2.

Ученик

Поиск курсов^

Регистрация^^

Мобильное приложение

Управление

видеоконференцией^^^ вод информации о курсах

бработка полученнь данных

СА

нализ полученных даннь х

с

с

Создание курса

Регистрация

Преподаватель

Рисунок 2. Диаграмма вариантов использования

На диаграмме представлены следующие действующие лица (актеры):

1. Ученик / слушатель курсов - это школьник или преподаватель. Он может получать доступ к учебно-методическим материалам, архиву Web-трансляций, участвовать в Web-трансляциях с целью изучения лекционного материала, а также в Web-конференциях для работы с тьютором в группе, для практических, лабораторных занятий.

2. Тьютор - это преподаватель, который руководит группой учеников/слушателей из одной или нескольких образовательных организаций. Он также, как и учащийся, имеет доступ к учебно-методическим материалам, записанным Web-трансляциям, может участвовать в Web-трансляциях или Web-кон-

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

Поскольку медиасервер только управляет вещанием и предоставляет доступ к своему API, то все остальные функции, в том числе и разделение ролей, происходит на платформе VCS, для совместимости и интеграции с LMS Moodle. Со стороны Moodle берутся сведения об авторизации, курсах, материалах курса и прочие учебные данные. Все остальное реализовано внешней библиотекой JavaScript и не взаимодействует с интерфейсом Moodle, кроме кнопки видео и процесса звонка представлено на рисунке 3.

Рисунок 3. Поток данных

Сервис consul отвечает за автоматическое обнаружение доступных серверов и добавление их в пул балансировщика. Выбор сервера осуществляется по одному из двух критериев:

- или наименьшая задержка до сервера от балансировщика;

- или наименьшая суммарная задержка всех клиентов по сервера;

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

Платформа используется также для хранения информации за пределами Moodle:

- роли пользователей в VCS;

- расписание занятий с тьюторами для создания комнат заранее;

- работа с записанными трансляциями.

Для работы в режиме вебинара для экономии ресурсов используется также режим вещания через сервер nginx RTMP по технологии HLS. Janus поставляет поток в формате RTMP. Сервис вещания и перекодирования видеопотоков на основе модуля nginx-rtmp для Web-трансляций отвечает за перекодирование под разные битрейты и разрешения, буферизацию и последующих стриминг в браузеры пользователей через плейлисты HLS представлено на рисунке 4.

Преподаватель

Webcam

SFU Nginx-rtmp

Screen

Участники

Рисунок 4. HLS Webinar

Один экземпляр сервиса вещания может обслуживать от 300-500 пользователей при наличии канала с большой пропускной способностью. Параллельно для Web-трансляций может быть запущено несколько экземпляров сервиса и использоваться CDN. Трансляция может быть обслужена несколькими экземплярами сервиса, и, наоборот, один сервис может осуществлять несколько трансляций.

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

Технология videoroom позволяет подписываться на события и автоматически начинать прием или вещание, а клиентская библиотека имеет возможность изменять битрейт на лету начиная с 128 Кбит/с и также отключать звук и видео как локально, так и на сервере [5].

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

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

или веб-камерой. Поэтому для проверки наличия звука, происходит захват аудио с микрофоном, затем анализ аудио. Один из самых простых способов получить данные с микрофона в браузере -использовать get UserMedia метод, что находится в объекте общедоступных браузерных методов -в navigator.

В случае успеха выполнения метода get UserMedia, получаем объект типа MediaStream, который уже можно использовать для создания источника аудио с помощью Web Audio API. С помощью аудио контекста, есть возможность создать все необходимые элементы для анализа звука. Необходимо лишь преобразовать поток MediaStream в элемент, с которым сможем работать, и для этого подойдет метод аудио контекста create MediaStreamSource. Получаем данные о частотах звука от анализатора, теперь достаточно сравнить полученные данные и в случае разницы необходимо послать команду Reconnect, либо собрать отчеты о работе системы для дальнейшего анализа.

Для определения наличия видео используем сравнение средних цветов. Получаем изображение путем захвата видео, анализируем изображение. Средний цвет вычисляется с помощью небольшого пакета fast-average-color. При подсчете цвета учитывается прозрачность. По умолчанию используется квадратичный алгоритм так как при простом

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

Если цвета отличаются или отсутствуют, то посылаем команду reconnect для восстановления видео.

Эксперимент

Далее оценивается производительность WebRTC в синтетических, но типичных сетевых сценариях используя Dummynet. Для оценки про-

Видео на мобильных платформах iOS и Android ограничены разрешением 640x480 при 30FPS, хотя их камеры способны обрабатывать более высокие разрешения. Кроме того, iOS и Android вели себя одинаково по всем характеристикам. Их скорость передачи данных значительно меньше, чем

Заключение

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

изводительности мобильных устройств проводится семиминутные эксперименты, охватывающие все различные варианты сети. Поскольку нельзя внедрить пользовательский видеопоток для мобильных устройств, прибегаем к использованию камеры мобильных устройств и принудительно используем заднюю камеру для генерации более качественный потока. К сожалению, Safari не поддерживает WebRTC на iOS. Поэтому используется плагин Cordova. Экспериментальный параметры меняются в соответствии с таблицей 1.

в Chrome, когда нет перегрузки (1750 Кбит/с против 2500 Кбит/с), и их среднее RTT составляет намного выше [4]. Это также занимает больше времени для обеих мобильных платформ по сравнению с Chrome (20 секунд против 10 секунд). Результаты показаны в таблице 2.

ленных достоинств и недостатков, позволил разработать архитектурное решение приложения. Было решено использовать в качестве модели SFU, в качестве сервера был выбран Janus так как обладает необходимой производительностью для проведения видеоконференций.

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

Минуты Время приема передачи Скорость передачи данных Потерянных пакетов

0-1 0ms да 0%

1-2 0ms 1250Kbps 0%

2-3 0ms - 500ms - 0ms 1250Kbps 0%

3-4 0ms да 0%

4-5 0ms да 0%

5-6 0ms да 0%

6-7 0ms - 500ms 1250Kbps 0%

Таблица 2. Средние характеристики вызовов для разных платформ

Chrome iOS Android

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Скорость передачи данных (Kbps) 1237.8 1022.5 1047.3

RTT (ms) 80.0 95.4 100.0

Количество кадров (FPS) 42.96 27.9 27.8

Потерянных пакетов (%) 2.30 2.18 2.2

Разрешение (px) 1006x566 602x339 675x380

Литература

1. Alex Gouaillard, WebrtcH4cKS: Breaking Point: WebRTC SFU Load Testing [Электронный ресурс]. -Режим доступа: https://webrtchacks.com/sfu-load-testing/ (дата обращения: 14.04.2020).

2. Altanai, WebRTC Integrator's Guide, [Электронный ресурс]. - Режим доступа: http://subnets.ru/books/ Packt.WebRTC.0ct.2014.ISBN.1783981261.pdf (дата обращения: 14.04.2020).

3. Tsahi Levent-Levi, WebRTC Multiparty Video Alternatives, and Why SFU is the Winning Model [Элек-

тронный ресурс]. - Режим доступа: https://bloggeek.me/webrtc-multiparty-video-altematives/ (дата обращения: 14.04.2020).

4. Оценка производительности видеоконференций на основе WebRTC. Обзор оценки эффективности ACM SIGMETRICS, [Электронный ресурс]. - Режим доступа: http://wimnet.ee.columbia.edu/wpcontent/ uploads/2017/10/ WebRTC-Performance.pdf. (дата обращения: 14.04.2020).

5. Manson R. Getting Started with Webrtc. - Birmingham: Packt Publishing. - 2013. - 114 c.

6. Аллен Майкл, E-Learning: Как сделать электронное обучение понятным, качественным и доступным. - М.: Альпина Паблишер. - 2016. - 200 с.

Статья поступила в редакцию: 28.04.2020; принята в печать: 13.08.2020.

i Надоели баннеры? Вы всегда можете отключить рекламу.