Предварительное исследование WebRTC для внешнего аудио и видео.

внешний интерфейс WebRTC
Предварительное исследование WebRTC для внешнего аудио и видео.

"Видимость: 🌟🌟🌟🌟🌟"

"Вкус: Шарики из сухих креветок"

"Время приготовления: 10 мин."

Эта статья была включена в переднюю столовую одноименного репозитория Github.github.com/Geekhyt, Добро пожаловать в кафетерий. Если вы считаете, что еда и вино вкусные, Звезда станет отличным поощрением для владельца кафетерия.

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

Сегодня давайте вместе изучим WebRTC, я думаю, вы слышали об этой знаменитости аудио- и видеосети.

Веб-связь в режиме реального времени WebRTC

Открытый 1 июня 2011 года и включенный в рекомендацию W3C при поддержке Google, Mozilla, Opera и других крупных компаний, WebRTC предоставляет браузерам и мобильным приложениям возможности мгновенной связи.

Преимущества WebRTC и сценарии применения

Преимущество

  • Кроссплатформенность (Интернет, Windows, MacOS, Linux, iOS, Android)
  • передача в реальном времени
  • Аудио и видео движок
  • Бесплатно, без плагинов, без установки
  • Поддержка основного браузера
  • Сильная способность пробивать отверстия

Сценарии применения

Онлайн-обучение, онлайн-медицина, аудио- и видеоконференции, инструменты для обмена мгновенными сообщениями, прямые трансляции, общий удаленный рабочий стол, ускорение сети P2P, игры (Wolfman, онлайн-KTV) и т. д.

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

Общая архитектура WebRTC

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

  • веб приложение
  • Web API
  • WebRTC C++ API
  • Управление сеансами Управление сигнализацией
  • Транспортный транспортный уровень
  • Голосовой движок Звуковой движок
  • Видеодвижок для обработки видео

Рассмотрим основные модули:

Голосовой движок Звуковой движок

Можно сказать, что лучшим голосовым движком в мире является движок GIPS, предоставленный разработчиком программного обеспечения VoIP Global IP Solutions.Google купил его и одним махом сделал его открытым исходным кодом, то есть звуковым движком в WebRTC.

  • iSAC: кодек по умолчанию для аудиодвижка WebRTC, широкополосных и сверхширокополосных аудиокодеков для VoIP и потокового аудио.
  • iLBC: узкополосный речевой кодек для аудиопотоков VoIP.
  • NetEQ For Voice: компоненты обработки голосового сигнала для программных аудиореализаций. Алгоритм NetEQ представляет собой адаптивный алгоритм управления джиттером и алгоритм маскирования потери голосовых пакетов, который может эффективно справляться с влиянием сетевого джиттера и потери голосовых пакетов на качество речи.
  • Акустический эхоподавитель: AEC, эхоподавитель.
  • Шумоподавление: NR, Шумоподавление.

Видеодвижок для обработки видео

Видеокодек серии VPX - приобретение Google OF ON2.

  • VP8: кодек видеоизображения, кодек по умолчанию для видеодвижка WebRTC.
  • Video Jitter Buffer: Модуль видео буфера джиттера.
  • Улучшения изображения: модуль улучшения качества изображения.

Принцип связи WebRTC

переговоры со СМИ

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

SDP Session Description Protocal

Данные, которыми обмениваются при согласовании мультимедиа, — это SDP, который является протоколом.На самом деле SDP не является настоящим протоколом.Это формат данных, описывающий «возможности» каждого конца.

Изображение выше является частью SDP, см.:SDP: Session Description Protocol

Или обратитесь к этой статье Кашена:WebRTC: протокол описания сеанса SDP

сетевые переговоры

Создание интерактивного подключения ICE

Чтобы установить соединение, нам необходимо получить информацию об IP и порте обеих сторон.В текущей сложной сетевой среде ICE объединяет различные технологии обхода NAT (STUN, TURN), что позволяет клиенту успешно проникать в удаленных пользователей и различные типы межсетевые экраны, которые могут существовать между сетями.

ОШЕЛОМЛЕНИЕ, ПОВОРОТ

STUN: простой UDP проходит через NAT, что позволяет клиентам за NAT (или несколькими NAT) узнать свой общедоступный IP-адрес, а также тип NAT, в котором они находятся, и интернет-порт, привязанный к NAT.

Мы знаем, что существует четыре основных типа NAT:

  • Полный конус NAT
  • Конус с ограничением IP
  • Конус ограничения порта
  • Симметричный

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

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

TURN является расширением STUN, которое в основном добавляет функцию реле. На основе сервера STUN добавьте несколько серверов TURN.Если STUN не может выделить IP-адрес общедоступной сети, вы можете запросить IP-адрес общедоступной сети в качестве адреса ретрансляции через сервер TURN и передать медиаданные через сервер TURN.

Сервер сигналов Сервер сигналов

После получения информации о носителе (SDP) и информации о сети (кандидат) обеих сторон нам также нужен сигнальный сервер в качестве посредника для их пересылки и обмена.

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

резюме

В этой статье мы узнали о преимуществах и сценариях применения WebRTC, общей архитектуре и основных модулях WebRTC, а также принципе связи WebRTC. Эти базовые знания и понятия нужно держать в уме, каждый должен помнить~

Ссылаться на

❤️Любовное тройное комбо

1. Если вы считаете, что еда и напитки в столовой все еще аппетитны, просто поставьте лайк и поддержите это, ваше"отличный"моя самая большая мотивация.

2. Обратите внимание на фронтальную столовую официального аккаунта,"Ешьте каждый прием пищи!"

3. Нравится, комментирует, пересылает === призывает больше!