Понимание оглушения и поворота в Webrtc

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

Протокол описания сеанса (SDP)
Преобразование сетевых адресов (NAT) (преобразование сетевых адресов)
кандидат на согласование сети
1. Протокол SDP, о котором
мы думаем, если два разных мобильных телефона, один мобильный телефон поддерживает VP8, формат мультимедиа VP9, ​​другой поддерживает VP8 , Протокол H264, если они общаются, какой формат СМИ они выберут для общения?

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

Помните, что SDP не называется согласованием среды. Процесс обмена SDP называется согласованием среды. Полное имя SDP называется протоколом описания сеанса.

2. Перевод адреса NAT
мне часто задают =

Почему я настраиваю проникновение оглушения и p2p, но во многих случаях это все равно не удается?
Почему ios проходит, а андроид не работает?
Почему может открыть мобильные телекоммуникации не могут пройти через, Wi - Fi и 4g некоторый пропуска и некоторые неразумные
Ну, на самом деле я не знаю ,

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

[Ошибка передачи изображения по внешней ссылке (img-COwrIGGF-1567468988826) (natgotiation.png)]

Говоря о nat, на самом деле, я не знаю фактический адрес другой стороны, а затем выбрасываю тестовый пакет, а затем получаю адрес другой стороны в ответ.

Мы сказали, что это неприемлемо, потому что ситуация в нашей внутренней сети более сложная. Историческая причина в том, что мы должны говорить об истории мобильной связи, China Unicom и телекоммуникаций.

В общем, если это не работает, это не будет работать. Есть другие способы.

3. Кандидат
Давайте сначала посмотрим на атрибуты в классе кандидата в лед

public final String sdpMid;//描述协议的id
public final int sdpMLineIndex;//描述协议的行索引
public final String sdp;//会话描述协议

Хорошо, пока вы должны были узнать, что это шаблон

Когда мы вызываем setLocalDescription, базовый код поможет нам собрать кандидата (информацию о кандидате), а затем обратный вызов на верхний уровень, затем мы отправим его на сервер, а затем сервер отправит другому

Я уверен, что интересно, что в этом кандидате, на самом деле, это адрес кандидата для некоторой сетевой информации, один не может изменить другой.

Мы называем процесс обмена кандидатами, называемый сетевыми переговорами

Оглушение это
хорошо, наш главный герой дебютирует

STUN (Session Traversal Utilities for NAT) - это сетевой протокол, который позволяет
клиентам, расположенным за NAT (или несколькими NAT), узнать свой общедоступный сетевой адрес и узнать, в каком типе NAT они находятся. После этого
интернет-порт привязан к определенному локальному порту через NAT . Эта информация используется для создания связи UDP между двумя узлами, которые находятся за маршрутизатором NAT. Этот протокол определен RFC 5389
.
На самом деле, многие люди спрашивали меня, нужен ли сервер оглушения в локальной сети?

Я говорю вам очень серьезно, нет необходимости!

В это время кто-то снова спросит, почему бы вам не использовать stun в демоверсии, и он не будет работать в локальной сети?

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

Подойди к картине

[Ошибка передачи изображения по внешней ссылке (img-myeYWWDt-1567468988842) (D: \ github \ csdn \ webrtc \ stun.png)]

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

В это время вам нужно обратиться к координатам, чтобы обеспечить качество звонка, и использовать сервер для распаковки


Полное название TURN TURN - Traversal Using Relays вокруг NAT, которое является расширением STUN / RFC5389 и в основном добавляет функцию реле. Если
терминал находится за NAT, при определенных обстоятельствах терминал может не иметь возможности напрямую связываться со своим одноранговым (одноранговым) узлом. В этом случае
требуется сервер в общедоступной сети в качестве ретранслятора для пересылки данных в и из. , Этот протокол пересылки определяется как TURN.

Другая картина

[Ошибка передачи изображения по внешней ссылке (img-Vo7XkDv6-1567468988844) (D: \ github \ csdn \ webrtc \ turn.png)]

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

ICE
ICE отличается от STUN и TURN. ICE - это не протокол, а платформа, которая объединяет STUN и TURN.
Проект с открытым исходным кодом Coturn объединяет функции STUN и TURN

Хорошо, эта статья здесь, взгляните на код для дайджеста

Android: https://github.com/ddssingsong/webrtc_android

Сторона сервера: https://github.com/ddssingsong/webrtc_server_node
 

Опубликовано 766 оригинальных статей · Оценено 474 · 2.54 миллиона просмотров

рекомендация

отblog.csdn.net/u010164190/article/details/105524716