Видеостриминг на 10 ГБит/с

7,791 views

Published on

Вещание видеофайлов на скоростях в 10 гбит/с

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,791
On SlideShare
0
From Embeds
0
Number of Embeds
6,464
Actions
Shares
0
Downloads
17
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Видеостриминг на 10 ГБит/с

  1. 1. Вещание видео на 10 гбит/с Макс Лапшин, CTO Flussonic LLC. Sunday, October 27, 13
  2. 2. Стриминг видеофайлов • • • • • Sunday, October 27, 13 Пользователь хочет посмотреть видео Надо показать ему в реальном времени Пользователь хочет управлять просмотром Уникальные данные для каждого пользователя Для каждого из 10 000 пользователей онлайн
  3. 3. Седая древность в IPTV • • • • • Sunday, October 27, 13 Constant bitrate каждая секунда — фиксированное количество байт легкая перемотка и т.п. планирование capacity сервиса (на всех 50 абонентов) многие так живут до сих пор
  4. 4. Хайтек от IPTV (RTSP) • • • • Sunday, October 27, 13 Контроль по TCP с поддержкой реконнекта Данные по UDP с возможностью ретрансмита Энтерпрайзно и неподъёмно Доживает свой век у 3G операторов
  5. 5. Псевдостриминг • • • • • • Sunday, October 27, 13 variable bitrate в видео и аудио примитивный flv контейнер и ещё примитивнее flash player mod_flv в nginx — основное средство вещания никакого мультибитрейта или мультиязыка примитивное управление проигрыванием популярно и сегодня (весь «html5 video»)
  6. 6. Хайтек от Адоби (RTMP) • • • • • Sunday, October 27, 13 Закрытый недокументированный протокол Не получилось ничего Попытка решить и риалтайм доставку и широковещание Сумрачный индусский гений придумал делать уникальный поток для каждого пользователя Адоб закрыли программу RTMP, но не все ещё догадались
  7. 7. Потребности сегодня • • • • Sunday, October 27, 13 FullHD, а следовательно и мультибитрейт Выбор языков, субтитров. За что и любим torrents.ru Управление проигрыванием (пауза, перемотка и т.п.) 3D, больше FPS и т.п.
  8. 8. Возможности сегодня • • • • Sunday, October 27, 13 Процессоры за 5 лет особо быстрее не стали Подешевели 10G линки (до 200 тыс рублей в месяц) SSD бегут по планете и спотыкаются об трупы HDD Стремительный переход на HTTP стриминг (HDS/HLS)
  9. 9. Экономика проблемы • • • • • Sunday, October 27, 13 1G линк — 25 000 рублей в месяц 10G линк — 200 000 рублей в месяц сервер — 10-20 000 рублей в месяц каждый сервер требует обслуживания больше линков, меньше серверов
  10. 10. Цифры при 10G вещании • • • • Sunday, October 27, 13 1 мбит/с контент 10 000 онлайн пользователей 5 000 запросов в секунду за 200 Кб сегментами ощущаются проседания на международных каналах
  11. 11. Проблемы с железом • • • • Sunday, October 27, 13 дисковая подсистема сетевая подсистема процессор память
  12. 12. Память • • • • Sunday, October 27, 13 Под кеш всё равно не хватит LRU пищит и всё портит Изредка влезает самый свежак, но всё ломает LRU 32 Гб за глаза хватает под сетевые буферы
  13. 13. Процессор • • • Sunday, October 27, 13 Хватит масштабироваться, работать надо Гигагерцы лучше ядер Одного процессора хватает для чтения, перепаковки, посылки и учета пользователей на 10 Гбит/с
  14. 14. Сеть • • • Sunday, October 27, 13 Intel, как будто бы есть другие варианты Самые свежие драйвера Балансировка прерываний по ядрам
  15. 15. Диски • • • • • Sunday, October 27, 13 Основная нагруженная часть 10 Гбит без SSD не потянуть, но HDD дешевле Лучше меньше да больше: у SSD есть предел скорости Аппаратные рейды оставьте продавцам Спасибо Unix за удобное управление очередью диска
  16. 16. Проблемы с софтом • • • • • Sunday, October 27, 13 Псевдостриминг дает перерасход трафика до 30% Для переключения контента нужен стриминг, причем HTTP HDS/HLS для флеш-плеера и остальных Предсегментация ломает префетч и перерасходует диск Сегментация на лету — вариант
  17. 17. Выбранные решения • • • • • • Sunday, October 27, 13 JBOD HDD для хранения контента или HTTP сетевое хранилище (Swift) SSD для промежуточного кеша старые новые рекомендации по упаковке mp4 сегментация на лету постоянный самоконтроль
  18. 18. Flussonic (эрливидео) • • • • Sunday, October 27, 13 Быстрое mp4 чтение: распаковка индекса только на лету Никакого покадрового чтения: только GOP Агрегация дисковых запросов Контроль за использованием ресурсов
  19. 19. Дисковое чтение • • • • Sunday, October 27, 13 Открытый файл держит в памяти весь moov (индекс данных) У каждого файла плавающий пул воркеров на чтение Все воркеры проходят через единую очередь чтения с диска На любом запросе может прийти HTTP 503 Overloaded
  20. 20. Нерешенные проблемы • • • • Sunday, October 27, 13 Правильное вычисление дискового устройства по имени файла Автобалансировка между HDD при чтении одного файла Кластерная балансировка пользователей 40G
  21. 21. Резюме • • • • • Sunday, October 27, 13 Вещание более 2G с сервера стало рентабельным Старые техники не годятся, нужны новые (HTTP стриминг, SSD) Новые подходы есть, отлажены и пинают трупы старых Важно не только работать, но и не перерабатывать Flussonic (эрливидео) прекрасно справляется
  22. 22. Вопросы? Макс Лапшин max@flussonic.com Sunday, October 27, 13
  23. 23. Sunday, October 27, 13

×