2. Резюме
Сегодня уникальная ситуация:
• один аудиокодек
• один видеокодек
• один транспортный контейнер (почти один)
3. Экскурс в историю ТВ
• Аналоговая передача была удобной
• Никакой компрессии, никаких задержек
• Рисуем синхронно с сигналом
• Вещатель управляет клиентом
4. Потом появилось IPTV
• Решения не поменялись
• Multicast UDP / DVB-S MPEG-TS пакеты
• Constant bitrate
• Всё почти как в аналоге
• И тормозные CMS-ки на Java по 100 тыс Евро
5. С constant bitrate хорошо
• Время и трафик друг в друга конвертируются одной формулой
• Перемотка элементарна
• Нагрузка на сеть постоянна
• Просто качество ужасное и трафик кошмарный
6. Вдруг появился интернет
• Только «у них» это называется OTT — Over The Top
• А в нём потери пакетов и jitter
• UDP не работает, мультикаста вообще нет
• TCP заменители UDP тоже не ахти
7. Пришли HLS/H.264/AAC
• Доставка кусков MPEG-TS потока по HTTP
• С задержкой видео. Ну и пусть, люди уже привыкли.
• Кодеки тоже подоспели: H.264 экономит деньги.
8. Всё в рамках MPEG
• Инженеры IPTV рады.
• Им лишь бы кровавый энтерпрайз со стандартами.
• Ведь у многих из них «HTTP пакеты бьются, надо чексуммы
проверять».
9. Что творилось в интернете?
В отличие от IPTV:
• Совершенно другой мир
• Денег мало и их умеют считать
• Умеют программировать
• Понимают, как это работает
12. Общая родовая травма
Получается два плеера:
• один на клиенте равномерно проигрывает кадры от сервера
• второй на сервере равномерно шлет кадры
Их слишком сложно синхронизировать
13. Тупиковый подход
• стриминговые TCP протоколы не масштабируются
• слишком дороги в обслуживании
• мало чего могут
• все плохо работают
20. Равномерность кадров
• Клиент равномерно во времени засовывает кадры в железо
• Энкодер равномерно во времени сжимает кадры в поток
• Между ними рвущийся, тормозной, лагающий интернет
• И ещё микроволновка возле WiFi точки
21. UDP
• UDP передает данные с маленькой задержкой и с маленьким jitter
• В изолированной сети вроде даже работает
• Но в интернете нет
• И нет мультикаста
• Слишком велика плата за потери кадров в H.264
22. TCP
• Одно решили, другое поломали
• Потерь данных нет, зато есть jitter
• Для компенсации jitter-а придумали буфер клиента
• Для компенсации буфера придумали prepush
• Оптимизация перемотки в рамках prepush буфера
• А ещё мультибитрейт
26. HTTP Streaming
• Сервер рассказывает клиенту о доступных вариантах контента
• Клиент скачивает чанки видео как обычные мегабайтные файлы
• Если время скачивания чанка больше его длительности, значит
интегральной скорости сети не хватает
• Если чанков в очереди много, значит сеть хорошая
27. HTTP Streaming
• Позволил перейти от ненадежных моментальных замеров качества
к надежным интегральным
• Во много раз удешевил «кластеризацию»: обычный HTTP-кеш даёт
эффект близкий к мультикасту
• Раздача файлов по HTTP. Просто как топор.
28. HLS уже работает
• в компьютерах
• в современных мобильных устройствах
• в телевизионных приставках (Set-top-box)
• в телевизорах
• в кровавом энтерпрайзе
31. Кровавый энтерпрайз
• Раньше была RTSP раздача файлов
• Constant bitrate, много трафика, сложно и дорого (Kasenna)
• Всё это глючит и тормозит
32. Кровавый энтерпрайз
• Битрейт растет
• Растет доля OTT
• Старые технологии становятся слишком дорогими и нерабочими
• А деньги даже там терять не любят
34. Интернет
• Тут люди привыкли деньги считать и думать
• Долго жил flv + mod_flv
• До 30 мегабайт — годно
• Нет мультибитрейта, дорогая по трафику перемотка
36. Практика
• Ютуб перешел на HTTP стриминг для контента
• Apple запрещает показывать видео не по HLS
• В 2011 проекты выходили уже с HTTP стримингом
• Adobe не развивает RTMP доставку
37. Почему же так?
• Кусочно-фрагментированная доставка видеопотока решает все
указанные проблемы
• Хранение файла в виде чанков позволяет осуществить раздачу
через nginx
38. Какие минусы у HLS/H.264/AAC
• Родовая травма HLS в виде MPEG-TS
• Связанность соседних чанков (continuity counters)
• Большие накладные расходы (15-25%)
• Временное отсутствие спектра инструментов
39. Резюме
• Старые технологии эфирного ТВ в IPTV отмирают
• Старые технологии live в интернете отмирают
• Старые технологии раздачи файлов отмирают
• Всё концентрируется на связке HLS + H.264 + AAC