"Видимость: 🌟🌟🌟🌟🌟"
"Вкус: Шарики из сухих креветок"
"Время приготовления: 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. Эти базовые знания и понятия нужно держать в уме, каждый должен помнить~
Ссылаться на
- «Создание живой аудио- и видеосистемы с нуля» Ли Чао
- «Разработка аудио и видео WebRTC React+Flutter+Go Actual Combat» Кан Шаоцзюнь
- WebRTC.GitHub.IO/WebRTC-org/…
- developer.Mozilla.org/this-cn/docs/…
- www.w3.org/TR/webrtc/
❤️Любовное тройное комбо
1. Если вы считаете, что еда и напитки в столовой все еще аппетитны, просто поставьте лайк и поддержите это, ваше"отличный"моя самая большая мотивация.
2. Обратите внимание на фронтальную столовую официального аккаунта,"Ешьте каждый прием пищи!"
3. Нравится, комментирует, пересылает === призывает больше!