• Главная
  • Карта сайта
Не найдено

WebRTC - переваги, недоліки, секрети, як працює, підключення

  1. Що таке WebRTC?
  2. Що потрібно знати про WebRTC?
  3. Еволюція стандартів і технологій відеозв'язку
  4. Як працює WebRTC
  5. Схема роботи WebRTC сервера
  6. переваги стандарту
  7. WebRTC для ринку ВКС
  8. Використання в спеціалізованих рішеннях
  9. Ex-користувачам Skype для Linux
  10. Конкуренція з Flash
  11. відеопрезентації WebRTC
  12. Кодеки в WebRTC
  13. відеокодеки
  14. WebRTC API
  15. Підключення по WebRTC
  16. WebRTC, Microsoft і Internet Explorer
  17. WebRTC, Apple і Safari
  18. Підтримка технологій в браузерах
  19. Корисні посилання

WebRTC (Web Real Time Communications) - це стандарт, який описує передачу потокових аудіо, відео даних і контенту від браузера і до браузеру в режимі реального часу без установки плагінів необхідних розширень. Стандарт дозволяє перетворити браузер в крайовий термінал відеоконференцзв'язку, досить просто відкрити веб-сторінку, щоб почати спілкування. WebRTC (Web Real Time Communications) - це стандарт, який описує передачу потокових аудіо, відео даних і контенту від браузера і до браузеру в режимі реального часу без установки плагінів необхідних розширень

зміст


Що таке WebRTC?

У цій статті ми розглянемо все, що необхідно знати про технології WebRTC для звичайного користувача. Розглянемо переваги і недоліки проекту, розкриємо деякі секрети, розповімо як працює, де і для чого застосовується WebRTC.

Що потрібно знати про WebRTC?

Що потрібно знати про WebRTC

Лев Якупов, TrueConf, Відео + Конференція 2013 Лев Якупов, TrueConf, Відео + Конференція 2013

Еволюція стандартів і технологій відеозв'язку


Еволюція стандартів і технологій відеозв'язку Сергій Юцайтіс, Cisco, Відео + Конференція 2016

Як працює WebRTC

На стороні клієнта

  • Користувач відкриває сторінку, яка містить HTML5 тег <video>.
  • Браузер запитує доступ до веб-камері і мікрофону користувача.
  • JavaScript код на сторінці користувача контролює параметри з'єднання (IP-адреси і порти сервера WebRTC або інших WebRTC клієнтів) для обходу NAT і Firewall.
  • При отриманні інформації про співрозмовника або про потік зі змікшованого на сервері конференцією, браузер починає узгодження використовуваних аудіо і відео кодеків.
  • Починається процес кодування і передача потокових даних між WebRTC клієнтами (в нашому випадку, між браузером і сервером).

На стороні WebRTC сервера

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

Схема роботи WebRTC сервера

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

Також WebRTC сервер буде отримувати медіа-трафік від WebRTC бенкетів та передавати його учасникам конференції, які використовують програми для настільних комп'ютерів або мобільних пристроїв, в разі наявності таких.

переваги стандарту

  • Не потрібно установка ПО.
  • Дуже висока якість зв'язку, завдяки:
    • Використанню сучасних відео (VP8, H.264) і аудіокодеків (Opus).
    • Автоматичне підстроювання якості потоку під умови з'єднання.
    • Вбудована система луна і шумозаглушення.
    • Автоматичне регулювання рівня чутливості мікрофонів учасників (АРУ).
  • Високий рівень безпеки: всі з'єднання захищені і зашифровані згідно з протоколами TLS і SRTP.
  • Є вбудований механізм захоплення контенту, наприклад, на робочий стіл.
  • Можливість реалізації будь-якого інтерфейсу управління на основі HTML5 і JavaScript.
  • Можливість інтеграції інтерфейсу з будь-якими back-end системами за допомогою WebSockets.
  • Проект з відкритим вихідним кодом - можна впровадити в свій продукт або сервіс.
  • Справжня крос-платформенность: один і той же WebRTC додаток буде однаково добре працювати на будь-якій операційній системі, деськтопной або мобільного, за умови, що браузер підтримує WebRTC. Це значно економить ресурси на розробку ПО.

недоліки стандарту

  • Для організації групових аудіо і відеоконференцій потрібно сервер ВКС, який би мікшував відео і звук від учасників, тому що браузер не вміє синхронізувати кілька вхідних потоків між собою.
  • Все WebRTC рішення несумісні між собою, тому що стандарт описує лише способи передачі відео і звуку, залишаючи реалізацію способів адресації абонентів, відстеження їх доступності, обміну повідомленнями та файлами, планування та іншого за вендором.
  • Іншими словами ви не зможете зателефонувати з WebRTC додатки одного розробника в WebRTC додаток іншого розробника.
  • Мікшування групових конференцій вимагає великих обчислювальних ресурсів, тому такий тип відеозв'язку вимагає покупки платної підписки або інвестування в свою інфраструктуру, де на кожну конференцію потрібно 1 цієї статті фізична ядро ​​сучасного процесора.

Секрети WebRTC: як вендори отримують користь із проривний веб-технології

Секрети WebRTC: як вендори отримують користь із проривний веб-технології

секрети WebRTC Цахи Левент-Леві, Bloggeek секрети WebRTC
Цахи Левент-Леві, Bloggeek.me, Відео + Конференція 2015

WebRTC для ринку ВКС

Збільшення числа ВКС-терміналів

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

Використання в спеціалізованих рішеннях

Використання різних JavaScript бібліотек і API хмарних сервісів з підтримкою WebRTC дозволяє легко додати підтримку відеозв'язку в будь-які веб-проекти. Раніше для передачі даних в реальному часі розробникам доводилося вивчати принципи роботи протоколів і використовувати напрацювання інших компаній, які найчастіше вимагають додаткового ліцензування, що збільшувало витрати. Уже зараз WebRTC активно використовується в сервісах виду "Зателефонувати з сайту", "Он-лайн чат підтримки", і т.п.

Ex-користувачам Skype для Linux

У 2014 році Microsoft оголосила про припинення підтримки проекту Skype для Linux, що викликало велике роздратування у IT-фахівців. Технологія WebRTC не прив'язана до операційної системи, а реалізована на рівні браузера, тобто Linux користувачі зможуть побачити в продуктах і сервісах на основі WebRTC повноцінну заміну Skype.

Конкуренція з Flash

WebRTC і HTML5 стали смертельним ударом для технології Flash, яка і так переживала свої далеко не найкращі роки. З 2017 року провідні браузери офіційно перестали підтримувати Flash і технологія остаточно зникла з ринку. Але потрібно віддати Flash належне, адже саме він створив ринок веб-конференцій та запропонував технічні можливості для живого спілкування в браузерах.

Детальний порівняння технологій WebRTC і Flash .

відеопрезентації WebRTC


Дмитро Одинцов, TrueConf, Відео + Конференція жовтень 2017

Кодеки в WebRTC

аудіокодеки

Для стиснення аудіо-трафіку в WebRTC використовуються кодеки Opus і G.711.

G.711 - найстаріший голосовий кодек з високим бітрейтом (64 kbps), який найчастіше застосовується в системах традиційної телефонії. Основною перевагою є мінімальна обчислювальна навантаження через використання легких алгоритмів стиснення. Кодек відрізняється низьким рівнем компресії голосових сигналів і не вносить додаткової затримки звуку під час спілкування між користувачами.

G.711 підтримується великою кількістю пристроїв. Системи, в яких використовується цей кодек, легші в застосуванні, ніж ті, які засновані на інших аудіокодек (G.723, G.726, G.728 і т.д.). За якістю G.711 отримав оцінку 4.2 в тестуванні MOS (оцінка в межах 4-5 є найвищою і означає гарну якість, аналогічне якості передачі голосового трафіку в ISDN і навіть вище).

Opus - це кодек з низькою затримкою кодування (від 2.5 мс до 60 мс), підтримкою змінного бітрейта і високим рівнем стиснення, що ідеально підходить для передачі потокового аудіо сигналу в мережах зі змінною пропускною спроможністю. Opus - гібридне рішення, що поєднує в собі кращі характеристики кодеків SILK (компресія голосу, усунення спотворень людської мови) і CELT (кодування звукової інформації). Кодек знаходиться у вільному доступі, розробникам, які його використовують, не потрібно платити відрахування правовласникам. У порівнянні з іншими аудіокодеками, Opus, безсумнівно, виграє по безлічі показників. Він затьмарив досить популярні кодеки з низьким бітрейтом, такі, як MP3, Vorbis, AAC LC. Opus відновлює найбільш наближену до оригіналу "картину" звуку, ніж AMR-WB і Speex. За цим кодеком - майбутнє, саме тому творці технології WebRTC включили його в обов'язковий ряд підтримуваних аудіостандартів.

відеокодеки

Питання вибору видеокодека для WebRTC зайняли у розробників кілька років, в результаті вирішили використовувати H.264 і VP8. Практично всі сучасні браузери підтримують обидва кодека. Серверів відеоконференцій для роботи з WebRTC досить підтримати тільки один.

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

Платний відеокодек H.264 став відомий набагато раніше свого побратима. Це кодек з високим ступенем стиснення відеопотоку при збереженні високої якості відео. Висока поширеність цього кодека серед апаратних систем відеоконференцзв'язку передбачає його використання в стандарті WebRTC.

Компанії Google і Mozilla активно просувають кодек VP8, а Microsoft, Apple і Cisco - H.264 (для забезпечення сумісності з традиційними системами відеоконференцзв'язку). І ось тут вознікакет дуже велика проблема для розробників хмарних WebRTC рішень, адже якщо в конференції всі учасники використовують один браузер, то конференцію досить мікшувати один раз одним кодеком, а якщо браузери різні і серед них є Safari / Edge, то конференцію доведеться кодувати два рази різними кодеками, що в два рази підвищить системні вимоги до медіа-сервера і як наслідок, вартість підписок на WebRTC сервіси.

WebRTC API

Технологія WebRTC базується на трьох основних API:

  • MediaStream (відповідає за прийняття веб-браузером аудіо і відеосигналу від камер або робочого столу користувача).
  • RTCPeerConnection (відповідає за з'єднання між браузерами для "обміну" отриманими від камери, мікрофона і робочого столу, медіаданими. Також в "обов'язки" цього API входить обробка сигналу (очищення його від сторонніх шумів, регулювання гучності мікрофона) і контроль над використовуваними аудіо і відеокодеками ).
  • RTCData Channel (забезпечує двосторонню передачу даних через встановлений з'єднання).

MediaStream. Перш ніж отримати доступ до мікрофона і камері користувача, браузер запитує на це дозвіл. У Google Chrome можна заздалегідь налаштувати доступ в розділі "Налаштування", в Opera і Firefox вибір пристроїв здійснюється безпосередньо в момент отримання доступу, зі списку. Запит на дозвіл буде з'являтися завжди при використанні протоколу HTTP і одноразово, якщо використовувати HTTPS:

Запит на дозвіл буде з'являтися завжди при використанні протоколу HTTP і одноразово, якщо використовувати HTTPS:

RTCPeerConnection. Кожен браузер, який бере участь в WebRTC конференції, повинен мати доступ до даного об'єкта. Завдяки використанню RTCPeerConnection медіаданні від одного браузера до іншого можуть проходити навіть через NAT і мережеві екрани. Для успішної передачі медіапотоків учасники повинні обмінятися такими даними за допомогою транспорту, наприклад, веб-сокетів:

  • учасник-ініціатор направляє другому учаснику Offer-SDP (структура даних, з характеристиками медіапотоку, які він буде передавати);
  • другий учасник формує "відповідь" - Answer-SDP і пересилає його ініціатору;
  • потім між учасниками організовується обмін ICE-кандидатами, якщо такі виявлені (якщо учасники знаходяться за NAT або мережевими екранами).

Після успішного завершення даного обміну між учасниками організовується безпосередньо передача медіапотоків (аудіо і відео).

RTCData Channel. Підтримка протоколу Data Channel з'явилася в браузерах порівняно недавно, тому даний API можна розглядати виключно у випадках використання WebRTC в браузерах Mozilla Firefox 22+ і Google Chrome 26+. З його допомогою учасники можуть обмінюватися текстовими повідомленнями в браузері.

Підключення по WebRTC

Підтримувані десктопні браузери

  • Google Chrome (17+) і всі браузери на основі движка Chromium;
  • Mozilla FireFox (18+);
  • Opera (12+);
  • Safari (11+);

Підтримувані мобільні браузери для Android

  • Google Chrome (28+);
  • Mozilla Firefox (24+);
  • Opera Mobile (12+);
  • Safari (11+).
Системні вимоги для WebRTC клієнта TrueConf →

WebRTC, Microsoft і Internet Explorer

Дуже довго Microsoft зберігала мовчання з приводу підтримки WebRTC в Internet Explorer і в своєму новим браузері Edge. Хлопці з Редмонда не дуже полюбляють давати в руки користувачів технології, які вони не контролюють, ось така ось політика. Але поступово справа зрушила з мертвої точки, тому що ігнорувати WebRTC далі було вже не можна, і був анонсований проект ORTC, похідний від стандарту WebRTC.

За словами розробників ORTC - це розширення стандарту WebRTC з поліпшеним набором API на основі JavaScript і HTML5, що в перекладі на звичайну мову означає, що все буде те ж саме, тільки контролювати стандарт і його розвиток буде Microsoft, а не Google. Набір кодеків розширено підтримкою H.264 і деяким аудіокодеками серії G.7ХХ, використовуваними в телефонії і апаратних ВКС системах. Можливо з'явиться вбудована підтримка RDP (для передачі контенту) і обміну повідомленнями. До речі, користувачам Internet Explorer не пощастило, підтримка ORTC буде тільки в Edge. Ну і, природно, такий набір протоколів і кодеків малою кров'ю стикується зі Skype for Business, що відкриває для WebRTC ще більше бізнес застосувань.

WebRTC, Apple і Safari

За прогнозами аналітиків WebRTC для Safari вже на підході, чекаємо його в 2017 році. Станом на липень 2017 року підтримка WebRTC заявлена ​​в мобільній версії ОС iOS 11, яка вийде цієї осені, а поки рекомендуємо використовувати і в iOS і в macOS браузер Chrome. Реалізація від Apple найімовірніше буде розширена підтримкою відеокодеків H.264 і H.265, а так само аудіокодеком AAC-ELD, який відповідає за кодування аудіо в FaceTime (додаток для відеодзвінків від Apple).

Підтримка технологій в браузерах

Приклад WebRTC конференції за допомогою TrueConf

Приклад WebRTC конференції за допомогою TrueConf

Наше рішення TrueConf Server 4.4.2 також підтримує стандарт WebRTC. З його допомогою ви можете проводити групові конференції розміром до 250 учасників, в тому числі підключених через браузер. Детальніше про наш WebRTC-додатку можна дізнатися тут .

Корисні посилання

Офіційний сайт WebRTC WebRTC на Wiki WebRTC для розробників WebRTC в TrueConf

Що таке WebRTC?
Що потрібно знати про WebRTC?
Що потрібно знати про WebRTC?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью