Потоковое мультимедиа 1 Статистика 2 Потоковое мультимедиа Виды: записанное потоковое аудио и видео потоковое аудио и видео реального времени (телерадиовещание через Интернет, IP-камеры) интерактивное аудио и видео реального времени (IP-телефония, видеоконференции) Характеристики передачи мультимедиа: чувствительность к задержкам пакетов устойчивость к потерям пакетов 3 Проблемы при передаче мультимедиа IP предоставляет best-effort service 4 Простейшая реализация 1. 2. 3. 4. 5. 6. Установка TCP-соединения Клиент посылает HTTP-запрос GET Сервер находит файл на диске и посылает его клиенту Браузер записывает его во временный файл и вызывает проигрыватель 5 Последовательное потоковое видео (progressive streaming) Обычные http-серверы могут передавать файлы по частям. Дорогостоящие видео серверы – не нужны! Проигрыватели начинают показ видео, не дожидаясь полной загрузки файла Минусы: видео сохраняется у пользователя на компьютере используется протокол TCP 6 HTML5 <video> <video poster="movie.jpg" controls> <source src="movie.webm" type='video/webm; codecs="vp8.0, vorbis"'> <source src="movie.ogg" type='video/ogg; codecs="theora, vorbis"'> <source src="movie.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'> <p>Ваш браузер не поддерживает HTML5 video</p> </video> 7 Потоковое видео реального времени (со спецсерверов) дополнительное серверное ПО: Flash Media Server Windows Media Services QuickTime Streaming Server - Apple VLC media player Преимущества: возможность трансляции потокового видео обработка небольших потерь пакетов защищенность видео данных 8 Обработка потерь Потеря пакетов приводит к ухудшению качества, а не к промежуткам тишины 9 Real-Time Protocol (RTP) Служит для передачи медиаданных реального времени Работает поверх UDP Поля заголовка RTP-пакета: Payload Type: 7 бит, один из 128 типов кодирования PCM, MPEG2, и т.д. Sequence Number: порядковый номер – для определения потерь пакетов 10 Real-Time Protocol (RTP) Timestamp: Метка времени первого байта медиаданных, используется для устранения джиттера Synchronization Source identifier (SSRC): источник синхронизации (для синхронизации нескольких медиапотоков) 11 RTP Control Protocol (RTCP) Используется для контроля потока данных и диагностики Типы сообщений: Sender report (SR) – статистика посланных пакетов, джиттер, временные метки для синхронизации медиапотоков Receiver report (RR) – информация о джиттере, о % потерянных пакетов, … Source description (SDES) – содержит идентификатор сессии, описание источника медиапотока End of participation (BYE) 12 Удаленное управление потоком данных: RTSP 13 Adaptive bitrate streaming Background Отсутствие глобального QoS UDP – потери групп пакетов TCP – задержки Проблемы при просмотре Bandwidth Internet Adaptive bitrate streaming 15 Домашнее задание послушайте какое-нибудь интернет радио (выясните какой плагин проигрывает звук) посмотрите последовательное потоковое флэш-видео (flv) на каком-нибудь сайте (например, http://ru.youtube.com/) посмотрите флеш-видео, транслируемое видео сервером, например лекции из раздела Computer Science http://videolectures.net/Top/Computer_Science/ посмотрите записанное HTML5 видео на 1tv.ru (отключите Flash Player, чтобы быть уверенным, что это именно HTML5) не записанное видео на 1tv.ru (прямой эфир) транслируется Flash Media Server Выясните, работает ли Flash-видео и HTML5-видео на 1tv.ru на вашем телефоне/коммуникаторе/планшете 16 Домашнее задание Организуйте на своем компьютере RTSPтрансляцию (например, видео с вебкамеры, звук с микрофона (своя радиостанция), видео/аудио файла) с помощью VLC Инструкции можно взять например отсюда: http://juliensimon.blogspot.ru/2008/12/howtosetting-up-vod-server-with-vlc.html 17 Домашнее задание (10 баллов) С помощью веб-сервера nginx организуйте на своем компьютере RTMP-трансляцию real-time видео. Создайте простенькую веб-страничку, на которой можно это видео посмотреть 18 IP - телефония 19 Что такое IP-телефония? IP-телефония или VoIP (Voice over IP) – технология, позволяющая использовать Интернет в качестве средства ведения телефонных разговоров и передачи факсов Аналоговый Оцифровка сигнал 010100101100 Сжатие Упаковка в IP-пакет DSP IP 10110101 10110101 10110101 10110101 Терминология H.323 – набор стандартов для передачи интерактивного аудио и видео реального времени SIP - Session Initiation Protocol — протокол установления сеанса PSTN – ТфОП - Телефонная сеть общего пользования PBX – устройство/программа, реализующая функции АТС в VoIP FXO/FXS – устройства приема/передачи питания и сигнала звонка Gatekeeper (контроллер зоны) – в H.323 обеспечивает трансляцию номеров телефонов в IPадреса и обратно 21 Схемы реализации IP-телефонии Офис N (3xxx) PBX (1xxx) FXO Gateway 2222 3333 Router IP Network PSTN Центральный офис Router LAN FXO Gateway FXO Gatekeeper PBX … 6417 64xx IP телефония – устаревшая H.323 от ITU Модель архитектуры H.323 для интернет-телефонии 23 Семейство протоколов H.323 24 H.323 Логические соединения между абонентами Катя Ваня Ваня звонит Кате 25 IP телефония – SIP от IETF Протокол SIP- Session Initiation Protocol описывает порядок установления соединения с удалённым клиентом согласовывает открытие дополнительных каналов обмена на основе других протоколов (например, RTP) допускает добавление/удаление каналов в течение сеанса (конференц-связь) использует адреса похожие на email sip: als@rts.loniis.ru sip: user1@192.168.100.152 26 Пример сети на базе протокола SIP 27 Запросы INVITE — Приглашает пользователя к сеансу связи. Обычно содержит SDP-описание сеанса. АСК — Подтверждает приём ответа на запрос INVITE. BYE — Завершает сеанс связи. Может быть передан любой из сторон, участвующих в сеансе. CANCEL — Отменяет обработку ранее переданных запросов, но не влияет на запросы, которые уже закончили обрабатываться. REGISTER — Переносит адресную информацию для регистрации пользователя на сервере определения местоположения. OPTIONS — Запрашивает информацию о функциональных возможностях терминала. 28 Ответы 1ХХ — запрос находится в стадии обработки: 100 Trying, 180 Ringing, 183 Session Progress. 2ХХ — запрос был успешно обработан: 200 OK и 202 Accepted. 3ХХ — информирует вызывающего пользователя о новом местоположении вызываемого, например, 302 Moved Temporary 4ХХ — ошибки: 403 Forbidden, 404 Not Found. 5ХХ — 500 Server Internal Error. 6ХХ —соединение установить невозможно, например, 603 Decline 29 Алгоритм установления соединения 30 ENUM – преобразование SIP и PSTN номеров ENUM - Electronic Number Mapping System • возьмем PSTN номер • преобразуем его +7 571 434 5651 1.5.6.5.4.3.4.1.7.5.7.e164.arpa. • отправим DNS запрос типа NAPTR • получим ответ sip:ivanivanov@mmcs.sfedu.ru 31 Как это работает 32 Сервис SIP Broker Предоставляет номера, по которым можно дозвониться до SIP-абонентов, используя стационарные телефоны Пример – звонок на sip:000@sipnet.ru: находим номер, соответствующий регистратору sipnet.ru: *419, значит цифровой номер будет таким: *419000 находим ближайшую PSTN точку доступа – в Москве: +7-495-956-77-83 Звоним +7-495-956-77-83 * 419000 Аналог – цифровой номер Skype (стоит 18$ за 3 месяца) и для России не работает 33 Программы VoIP Серверное ПО: Asterisk (http://www.asterisk.org/) Cisco Unified Communications Manager Клиенты: X-Lite (proprietary, windows) http://www.counterpath.com/x-lite.html SipDroid (GPL, android) http://sipdroid.org/ Sippoint Ekiga (GPL, *nix/windows) http://ekiga.org/ Twinkle (Qt-based) 34 Оборудование. USB VoIP телефоны Можно принимать и совершать звонки через Skype или SIPNET Поддержка протоколов Skype, SIP, H.323, MGCP 35 Оборудование. VoIP телефоны Оснащен двумя интерфейсами Ethernet (внешний и внутренний) Поддерживает SIP Имеет множество функций обычного телефона 36 Оборудование. VoIP шлюзы Имеет порт Ethernet для подключения к внешней сети Порт FXS для подключения обычного телефона Порт FXO для подключения к PSTN/PBX 37 Skype компания Skype основана Никласом Ценнштрём и Янусом Фриисом в 2003 программа обеспечивает бесплатную голосовую связь через Интернет между компьютерами платные услуги для связи с абонентами обычной телефонной сети видео конференции, обмен сообщениями и файлами основана на P2P технологиях 38 Skype 39 Архитектура сети Skype 40 Расположение супер-узлов Skype 41 Домашнее задание Установите у себя софтфон (например, x-lite) или купите USB-VoIP-телефон Зарегистрируйтесь у провайдера IP-телефонии (например, sipnet.ru) и получите номер – это бесплатно (укажите ваш номер телефона, тогда вам подарят 1$) Введите в x-lite полученные при регистрации данные и позвоните, например 000@sipnet.ru - последние новости Эха Москвы 8463@proxy.ideasip.com - говорящие часы Звонки на VoIP-телефоны бесплатны, на Skype – тоже, тарифы в другие страны – не хуже, чем у Skype Установите у себя Skype Попытайтесь связаться с другом, используя голосовую или видео-связь 42