+ All Categories
Home > Technology > Видеостриминг на 10 ГБит/с

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

Date post: 15-Jun-2015
Category:
Upload: max-lapshin
View: 7,185 times
Download: 4 times
Share this document with a friend
Description:
Вещание видеофайлов на скоростях в 10 гбит/с
Popular Tags:
23
Вещание видео на 10 гбит/с Макс Лапшин, CTO Flussonic LLC. Sunday, October 27, 13
Transcript
Page 1: Видеостриминг на 10 ГБит/с

Вещание видеона 10 гбит/с

Макс Лапшин, CTO Flussonic LLC.

Sunday, October 27, 13

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

Стриминг видеофайлов

• Пользователь хочет посмотреть видео• Надо показать ему в реальном времени

• Пользователь хочет управлять просмотром• Уникальные данные для каждого пользователя• Для каждого из 10 000 пользователей онлайн

Sunday, October 27, 13

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

Седая древность в IPTV

• Constant bitrate

• каждая секунда — фиксированное количество байт

• легкая перемотка и т.п.• планирование capacity сервиса (на всех 50 абонентов)

• многие так живут до сих пор

Sunday, October 27, 13

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

Хайтек от IPTV (RTSP)

• Контроль по TCP с поддержкой реконнекта

• Данные по UDP с возможностью ретрансмита

• Энтерпрайзно и неподъёмно• Доживает свой век у 3G операторов

Sunday, October 27, 13

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

Псевдостриминг

• variable bitrate в видео и аудио

• примитивный flv контейнер и ещё примитивнее flash player

• mod_flv в nginx — основное средство вещания

• никакого мультибитрейта или мультиязыка• примитивное управление проигрыванием• популярно и сегодня (весь «html5 video»)

Sunday, October 27, 13

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

Хайтек от Адоби (RTMP)

• Закрытый недокументированный протокол• Попытка решить и риалтайм доставку и широковещание

• Сумрачный индусский гений придумал делать уникальный поток для каждого пользователя

• Не получилось ничего• Адоб закрыли программу RTMP, но не все ещё догадались

Sunday, October 27, 13

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

Потребности сегодня

• FullHD, а следовательно и мультибитрейт

• Выбор языков, субтитров. За что и любим torrents.ru

• Управление проигрыванием (пауза, перемотка и т.п.)

• 3D, больше FPS и т.п.

Sunday, October 27, 13

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

Возможности сегодня

• Процессоры за 5 лет особо быстрее не стали

• Подешевели 10G линки (до 200 тыс рублей в месяц)

• SSD бегут по планете и спотыкаются об трупы HDD

• Стремительный переход на HTTP стриминг (HDS/HLS)

Sunday, October 27, 13

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

Экономика проблемы

• 1G линк — 25 000 рублей в месяц

• 10G линк — 200 000 рублей в месяц

• сервер — 10-20 000 рублей в месяц

• каждый сервер требует обслуживания• больше линков, меньше серверов

Sunday, October 27, 13

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

Цифры при 10G вещании

• 1 мбит/с контент

• 10 000 онлайн пользователей

• 5 000 запросов в секунду за 200 Кб сегментами

• ощущаются проседания на международных каналах

Sunday, October 27, 13

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

Проблемы с железом

• дисковая подсистема• сетевая подсистема• процессор• память

Sunday, October 27, 13

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

Память

• Под кеш всё равно не хватит

• LRU пищит и всё портит

• Изредка влезает самый свежак, но всё ломает LRU

• 32 Гб за глаза хватает под сетевые буферы

Sunday, October 27, 13

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

Процессор

• Хватит масштабироваться, работать надо• Гигагерцы лучше ядер

• Одного процессора хватает для чтения, перепаковки, посылки и учета пользователей на 10 Гбит/с

Sunday, October 27, 13

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

Сеть

• Intel, как будто бы есть другие варианты

• Самые свежие драйвера• Балансировка прерываний по ядрам

Sunday, October 27, 13

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

Диски

• Основная нагруженная часть• 10 Гбит без SSD не потянуть, но HDD дешевле

• Лучше меньше да больше: у SSD есть предел скорости

• Аппаратные рейды оставьте продавцам

• Спасибо Unix за удобное управление очередью диска

Sunday, October 27, 13

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

Проблемы с софтом

• Псевдостриминг дает перерасход трафика до 30%

• Для переключения контента нужен стриминг, причем HTTP

• HDS/HLS для флеш-плеера и остальных

• Предсегментация ломает префетч и перерасходует диск• Сегментация на лету — вариант

Sunday, October 27, 13

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

Выбранные решения

• JBOD HDD для хранения контента

• или HTTP сетевое хранилище (Swift)

• SSD для промежуточного кеша

• старые новые рекомендации по упаковке mp4

• сегментация на лету• постоянный самоконтроль

Sunday, October 27, 13

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

Flussonic(эрливидео)

• Быстрое mp4 чтение: распаковка индекса только на лету

• Никакого покадрового чтения: только GOP

• Агрегация дисковых запросов• Контроль за использованием ресурсов

Sunday, October 27, 13

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

Дисковое чтение

• Открытый файл держит в памяти весь moov (индекс данных)

• У каждого файла плавающий пул воркеров на чтение

• Все воркеры проходят через единую очередь чтения с диска

• На любом запросе может прийти HTTP 503 Overloaded

Sunday, October 27, 13

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

Нерешенные проблемы

• Правильное вычисление дискового устройства по имени файла• Автобалансировка между HDD при чтении одного файла

• Кластерная балансировка пользователей• 40G

Sunday, October 27, 13

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

Резюме

• Вещание более 2G с сервера стало рентабельным

• Старые техники не годятся, нужны новые (HTTP стриминг, SSD)

• Новые подходы есть, отлажены и пинают трупы старых

• Важно не только работать, но и не перерабатывать• Flussonic (эрливидео) прекрасно справляется

Sunday, October 27, 13

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

Вопросы?

Макс Лапшин[email protected]

Sunday, October 27, 13

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

Sunday, October 27, 13


Recommended