...
- Медиа поток
- Видео и аудио данные упаковываются в медиа потоки
- Медиа потоки синхронизируют медиа дорожки, из которых состоят
- Различные медиа потоки не синхронизированы между собой
- Медиа потоки могут быть локальными и удаленными, к локальному обычно подключена камера и микрофон, удаленные получают данные из сети в кодированном виде
- Медиа дорожки бывают двух типов – для видео и для аудио
- Медиа дорожки имеют возможность включения/выключения
- Медиа дорожки состоят из медиа каналов
- Медиа дорожки синхронизируют медиа каналы, из которых состоят
- Медиа потоки и медиа дорожки имеют метки, по которым их можно различать
- Дескриптор сессии
- Дескриптор сессии используется для логического соединения двух узлов сети
- Дескриптор сессии хранит информацию о доступных способах кодирования видео и аудио данных
- WebRTC использует внешний сигнальный механизм – задача пересылки дескрипторов сессии (sdp) ложится на приложение
- Механизм логического соединения состоит из двух этапов – предложения (offer) и ответа (answer)
- Генерация дескриптора сессии невозможна без использования локального медиа потока в случае предложения (offer) и невозможна без использования удаленного дескриптора сессии в случае ответа (answer)
- Кандидаты
- Кандидат (Ice candidate) – это адрес узла в сети
- Адрес узла может быть своим, а может быть адресом роутера или TURN сервера
- Кандидатов всегда много
- Кандидат состоит из IP адреса, порта и типа транспорта (TCP или UDP)
- Кандидаты используются для установления физического соединения двух узлов в сети
- Кандидатов также нужно пересылать через сигнальный механизм
- STUN/TURN/ICE/NAT
- NAT – механизм обеспечения доступа к внешней сети
- Сетевые роутеры поддерживают специальную таблицу NAT
- Роутер подменяет адреса в пакетах – адрес источника на свой, в случае, если пакет идет во внешнюю сеть, и адрес приемника на адрес узла во внутренней сети, если пакет пришел из внешней сети
- Для обеспечения многоканального доступа к внешней сети NAT использует порты
- ICE – механизм обхода NAT
- STUN и TURN сервера – сервера-помошники помощники для обхода NAT
- STUN сервер позволяет создавать необходимые записи в таблице NAT, а также возвращает внешний адрес узла