Выпуск №9 (Июнь)
XLV Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.11.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIV Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.10.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIІI Международная научно-практическая конференция «Актуальные проблемы современной науки», 29.08.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLIІI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.07.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLII Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.06.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XLI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.05.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XL Международная научно-практическая конференция «Актуальные проблемы современной науки», 28.03.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

МНПК "Цифровая трансформация и инновации в экономике, праве, государственном управлении, науке и образовательных процессах", 18-21.03.2019

XXXIX Международная научно-практическая конференция «Актуальные проблемы современной науки», 27.02.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XIII Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 31.01.2019 (Совместная конференция с Финансово-экономическим научным советом)

XXXVIII Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.01.2019 (Совместная конференция с Международным научным центром развития науки и технологий)

XXXVІI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2018 (Совместная конференция с Международным научным центром)

XXXVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2018 (Совместная конференция с Международным научным центром)

XIII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXXV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.10.2018 (Совместная конференция с Международным научным центром)

XXXIV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2018 (Совместная конференция с Международным научным центром)

ХXXIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.08.2018 (Совместная конференция с Международным научным центром)

ХXXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 31.07.2018 (Совместная конференция с Международным научным центром)

XII Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХXXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2018 (Совместная конференция с Международным научным центром)

ХІ Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2018 (Совместная конференция с Финансово-экономическим научным советом)

XXХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2018 (Совместная конференция с Международным научным центром)

XXIХ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.04.2018 (Совместная конференция с Международным научным центром)

ХХVIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.03.2018 (Совместная конференция с Международным научным центром)

ІІІ МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 19-22.03.2018 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 28.02.2018 (Совместная конференция с Финансово-экономическим научным советом)

ХХVІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2018 (Совместная конференция с Международным научным центром)

ХХVІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2018 (Совместная конференция с Международным научным центром)

XІІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.12.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2017 (Совместная конференция с Международным научным центром)

ХХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2017 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.10.2017 (Совместная конференция с Финансово-экономическим научным советом)

XІ Международная научно-практическая конференция «Научный диспут: вопросы экономики и финансов», 29.09.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХХIІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.09.2017 (Совместная конференция с Международным научным центром)

X Международная научно-практическая конференция «Актуальные проблемы экономики и финансов», 31.07.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХXII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.07.2017 (Совместная конференция с Международным научным центром)

ХXI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.06.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция «Глобальные проблемы экономики и финансов», 31.05.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.05.2017 (Совместная конференция с Международным научным центром)

"Тенденции развития национальных экономик: экономическое и правовое измерение" 18-19.05.2017 (Совместная конференция с Финансово-экономическим научным советом и ККИБиП)

ХIX Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.04.2017 (Совместная конференция с Международным научным центром)

IX Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVIII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.03.2017 (Совместная конференция с Международным научным центром)

МНПК "Экономика, финансы и управление в XXI веке: анализ тенденций и перспективы развития", 20–23.03.2017 (Совместная конференция с Финансово-экономическим научным советом)

VIII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.02.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVII Международная научно-практическая конференция: "Актуальные проблемы современной науки", 27.02.2017 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.01.2017 (Совместная конференция с Финансово-экономическим научным советом)

ХVI Международная научно-практическая конференция: "Актуальные проблемы современной науки", 30.01.2017 (Совместная конференция с Международным научным центром)

ХV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.12.2016 (Совместная конференция с Международным научным центром)

VIII Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 28.12.2016 (Совместная конференция с Финансово-экономическим научным советом)

VII Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.11.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІV Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.11.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.10.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 28.10.2016 (Совместная конференция с Международным научным центром)

VII Международная научно-практическая конф. «Научный диспут: вопросы экономики и финансов», 30.09.2016 (Совместная конференция с Финансово-экономическим научным советом)

ХІІ Международная научно-практическая конференция: "Актуальные проблемы современной науки", 29.09.2016 (Совместная конференция с Международным научным центром)

XI Международная научно-практическая конференция «Актуальные проблемы современной науки», 30.08.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 29.07.2016 (Совместная конференция с Финансово-экономическим научным советом)

X Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.07.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.06.2016 (Совместная конференция с Финансово-экономическим научным советом)

ІX Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2016 (Совместная конференция с Международным научным центром)

VI Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 31.05.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 30.05.2016 (Совместная конференция с Международным научным центром)

V Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 29.04.2016 (Совместная конференция с Финансово-экономическим научным советом)

VIІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 28.04.2016 (Совместная конференция с Международным научным центром)

VІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 31.03.2016 (Совместная конференция с Международным научным центром)

ІI Международная научно-практическая конф. "Экономика и управление в XXI веке: анализ тенденций и перспектив развития", 30.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 21-24.03.2016 (Совместная конференция с Финансово-экономическим научным советом)

V Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 26.02.2016 (Совместная конференция с Финансово-экономическим научным советом)

II Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 20.02.2016 (Совместная конференция с Международным научным центром)

ІV Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.12.2015 (Совместная конференция с Международным научным центром)

IV Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.12.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 30.11.2015 (Совместная конференция с Финансово-экономическим научным советом)

IV Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 29.10.2015 (Совместная конференция с Финансово-экономическим научным советом)

Международная научно-практическая конференция: "Научный диспут: актуальные вопросы медицины" 28.10.2015 (Совместная конференция с Международным научным центром)

III Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 30.09.2015 (Совместная конференция с Финансово-экономическим научным советом)

III Международная научно-практическая конференция "Актуальные проблемы экономики и финансов", 31.08.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІІ Международная научно-практическая конференция "Научный диспут: вопросы экономики и финансов", 30.06.2015 (Совместная конференция с Финансово-экономическим научным советом)

ІІ Международная научно-практическая конференция "Актуальные проблемы современной науки", 29.06.2015 (Совместная конференция с Международным научным центром)

II Международная научно-практическая конференция "Глобальные проблемы экономики и финансов", 28.05.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы экономики и финансов, 29.04.2015 (Совместная конференция с Финансово-экономическим научным советом)

Научный диспут: вопросы экономики и финансов, 31.03.2015 (Совместная конференция с Финансово-экономическим научным советом)

Актуальные проблемы современной науки, 27.03.2015 (Совместная конференция с Международным научным центром)

Глобальные проблемы экономики и финансов, 27.02.2015 (Совместная конференция с финансово-экономическим научным советом)



Аміров О. Р. Система онлайн відеотрансляцій за допомогою веб-сокетів // Міжнародний науковий журнал "Інтернаука". — 2017. — №9.


Отрасль науки: Технические науки
Скачать статью (pdf)

Технічні науки

УДК 004.418

Аміров Олександр Романович

Студент

Національного технічного університету України

«Київський політехнічний інститут імені Ігоря Сікорського»

Амиров Александр Романович

Студент

Национального технического университета Украины

«Киевский политехнический институт имени Игоря Сикорского»

Amirov O.

Student of the

National Technical University of Ukraine

«Igor Sikorsky Kyiv Polytechnic Institute»

СИСТЕМА ОНЛАЙН ВІДЕОТРАНСЛЯЦІЙ ЗА ДОПОМОГОЮ ВЕБ-СОКЕТІВ

СИСТЕМА ОНЛАЙН ВИДЕОТРАНСЛЯЦИЙ С ПОМОЩЬЮ ВЕБ-СОКЕТОВ

ONLINE VIDEOSTREAMING SYSTEM WITH WEB-SOCKETS

Анотація: У цій роботі досліджені шляхи побудови системи онлайн відеотрансляції з використанням мережевого протоколу веб-сокет.

Ключові слова: відеотрансляція, веб-сокет, джаваскріпт,  медіа-інтерфейси браузера, веб-сокет сервер.

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

Ключевые слова: видеотрансляция, веб-сокет, джаваскрипт,  медиа-интерфейси браузера, веб-сокет сервер.

Summary: This work deals with investigations of ways to design of online videostreaming system with usage of web protocol web-socket.

Key words: videostreaming, web-socket, javascript, browser media-interfaces, web-socket server.

Відеотрансляції стають в наш час все популярнішими, адже вони дозволяють отримувати досвід живої взаємодії, наприклад лектора зі студентами, на великих відстанях. Користувачі не мають бути обмеженими у виборі девайсів для використання відотрансляції, тому бажаним є рішення універсальне та незалежне від пристроїв чи додаткових програм.

При реалізації відеотрансляції в першу чергу постає задача вибору протоколу онлайн взаємодії, і типовий для веб HTTP протокол для вирішення такої проблеми є неефективним. Причина цього — в тому, що його архітектура взаємодії запит/відповідь не дає необхідної в такому випадку підтримки комунікації  — двосторонньої швидкої передачі інформації між сервером та багатьма користувачами, яка також називається COMET [1].

Натомість протокол веб-сокет дає можливість встановити канал з’єднання між сервером і клієнтом і в подальшому обмінюватись даними в обох напрямках. Вебсокет використовує передачу даних фреймами, які є доволі економними в плані розміру порівняно з HTTP запитами. Це дає змогу легкої реалізації такого функціоналу, як чати, ігрові сервери тощо.

Також суттєвою проблемою є доступ до засобів запису аудіо та відео з пристрою користувача. Автор провів дослідження нових, навіть експериментальних, технологій сучасних браузерів і в результаті обрав mediaDevices API [3], оскільки цей інтерфейс дозволяє зробити запит на використання камери та мікрофону користувача і отримати аудіо чи відеопотік.

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

Сучасне API браузерів налаштоване для відеодзвінків між двома браузерами. Поставлена ж задача потребує передачі даних через сервер великій кількості клієнтів. Тому для її реалізації вдалим рішенням було використати API виключно для того, щоб отримати потік даних, а далі налаштувати роботу вручну.

На самому початку процесу відотрансляції необхідно зробити запит до користувача на дозвіл використання камери на його девайсі за допомогою методу navigator.mediaDevices.getUserMedia [3]. Цей метод в разі згоди користувача повертає відеопотік зображення. При цьому роздільну здатність зображення можна налаштувати в параметрах методу.

Далі треба було б розбивати відеодані на частини та відправляти на сервер, але розмір таких частин досить великий для швидкої передачі через мережу. Тому було обрано інший шлях — відеодані розбиваються на звичайні знімки, що робляться з заданою частотою. Цього можна досягнути за допомогою використання елементу canvas, який дозволяє отримати знімок з відеопотоку та перетворити його у вигляд dataURL, що є придатним для пересилання мережею. Формат таких знімків jpeg обраний через його низький розмір, бо в цьому випадку можна знехтувати дуже високою якістю зображення. Такі знімки по одному пересилаються на сервер. Клієнт може отримати ці дані та відобразити як звичайне зображення img.

Трансляція аудіо не вимагає таких маніпуляцій, як трансляція зображення — формат ogg є досить компактним, щоб пересилати навіть великі відрізки запису. Спочатку іде запит на використання мікрофона користувача, і отримується потік аудіо. Потім аудіо розбивається на частини за допомогою інтерфейсу mediaRecorder [2], що може записувати медіапотік частинами. Але на цьому етапі виникає проблема, бо в разі відправлення аудіо з такою ж частотою, як і зображення, відтворення матиме помітні дефекти. Це пояснюється тим, що якщо під час відтворення зображення з частотою 24 кадри на секунду людина не помічає зміни кадрів, то такі переривання між фрагментами аудіо роблять запис майже непридатним для сприйняття. Тому аудіо записується частинами фіксованої довжини в декілька секунд і перетворюється в бінарний тип Blob. Далі дані передаються клієнтам через сервер і програються за допомогою елементу audio.

Щоб синхронізувати зображення і аудіо, відправлення знімків відео можна відкласти на певний проміжок часу, що відповідає тривалості аудіочастин. Завдяки такій затримці ми отримуємо синхронізоване аудіо та відео досить високої якості.

Для роботи системи необхідно спроектувати і власне веб-сокет сервер. Це можна зробити за допомогою серверної платформи node. Її модуль socketio [4] дозволяє легко налаштувати пересилання даних. В цьому випадку сервер має виконувати роль шини подій в патерні pubsub (підписник/видавець) і окремими каналами передавати аудіо- та відеодані між клієнтами.

Висновки

Для того щоб ефективно реалізувати відеотрансляцію як на сервері, так і на клієнті, можна використати сучасні технології браузерів та протокол веб-сокет. Використання мови javascript допомагає зручному використанню таких ізоморфних модулів, як socketio. Така система є адаптивною для різних пристроїв, оскільки вона реалізована як веб-застосунок, тобто використовуваність цієї системи обмежена тільки версією веб браузера.

Література

  1. Мельников А. The WebSocket Protocol: Стандарт [Електронний ресурс] / Мельников А., Фіт І. — 2011 — Режим доступу: https://tools.ietf.org/html/rfc6455.
  2. Кормік Л. MediaDevices: Стаття [Електронний ресурс] / Кормік Л. — 2016 — Режим доступу: https://developer.mozilla.org/ru/docs/Web/API/MediaDevices.
  3. Дуглас Д. Web Audio API: Стаття [Електронний ресурс] / Дуглас Д. — 2016 — Режим доступу: https://developer.mozilla.org/ru/docs/Web/API/Web_Audio_AP
  4. Ванг В. The Definitive Guide to HTML5 WebSocket / Ванг В., Салім Ф., Московіц П. — Apress, 2013 — 208 с.