Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2017 © ivi
Система подготовки видео для
стриминга на платформе ivi
2
✓ Показываем легальное видео почти на любом устройстве
(Web, iOS, Android, SmartTV, XBOX и т.д)
✓ Highload проект с мног...
3
Долгий путь видео от правообладателя до пользователя
4
✓ Многокилометровые инструкции админам по правильной сборке
(ffmpeg, mp4box и т.д)
✓ Необходимость снизить требования к ...
5
Ожидания бизнеса
✓ Дешевый специалист
✓ Все умеет
✓ В восторге от однообразной работы
Кто такой оператор кодирования
Ожи...
6
✓ Проверка оригинала
✓ Bitrate
✓ Пропорции
✓ FPS
✓ Звуковые дорожки
✓ и т.д.
✓ Кодирование в нужный bitrate
✓ Упаковка в...
7
Чем кодируем
ffmpeg + разный софт Elemental
Контейнеры
✓ mp4
✓ HLS
✓ DASH
✓ HDS
Контейнеры
✓ HSS
✓ DASH (4K)
✓ HLS
Кодек...
8
✓ API
✓ Админка для разработчиков
✓ Админка для операторов кодирования
✓ Управление контейнерами
✓ Примитивная оркестрац...
9
Каждый контейнер последовательно выполняет несколько типов задач
(не обязательно для одного и того же видеопотока)
✓ mp4...
10
Интеграция с Elemental и с любыми другими сервисом
кодирования
11
Сложно построить систему массового обслуживания без
приоритезации заданий и мы добавили приоритеты
✓ обычный
✓ срочный
...
12
Приоритетов оказалось недостаточно, так появились маршруты
✓ Трейлеры
✓ Реклама
✓ Горячие Премьеры
✓ Число маршрутов не...
13
✓ Службе эксплуатации пришлось повозиться, чтобы
перестроить мировоззрение
✓ У Docker есть особенности. Некоторые баги ...
14
✓ Простота эксплуатации
✓ Масштабируемость
✓ Подробное логирование всех этапов обработки видео
✓ Возможность подключать...
Спасибо
за внимание!
2017 © ivi
erossinsky@ivi.ru
Upcoming SlideShare
Loading in …5
×

Система подготовки видео для стриминга на платформе ivi / Евгений Россинский (ivi)

150 views

Published on

РИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 12:00

Тезисы:
http://backendconf.ru/2017/abstracts/2733.html

Для того чтобы подготовить видео к стримингу на большое количество типов устройств, нужно сделать несколько шагов - от подготовки метаданных до упаковки в разные контейнеры (MP4, DASH, HLS) с разным битрейтом.

Мы построили гибкую систему с приоритетами, которая учитывает потребности бизнеса в скорости подготовки видео и умеет работать с пятью DRM-системами. Архитектурное решение основывается на жонглировании Docker-контейнерами и включает в себя как аппаратные средства для кодирования видео, так и софтверные.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Система подготовки видео для стриминга на платформе ivi / Евгений Россинский (ivi)

  1. 1. 2017 © ivi Система подготовки видео для стриминга на платформе ivi
  2. 2. 2 ✓ Показываем легальное видео почти на любом устройстве (Web, iOS, Android, SmartTV, XBOX и т.д) ✓ Highload проект с многомиллионной аудиторией (33 млн.) ✓ Свой CDN 30 городов РФ. Москва 3 ДЦ с кольцом 150 Гбит ✓ ~ 70 000 запросов в секунду Немного о ivi
  3. 3. 3 Долгий путь видео от правообладателя до пользователя
  4. 4. 4 ✓ Многокилометровые инструкции админам по правильной сборке (ffmpeg, mp4box и т.д) ✓ Необходимость снизить требования к порогу вхождения для операторов системы кодирования ✓ Подготовка видео к стримингу состоит из большого числа этапов, на каждом можно получить ошибку ✓ R&D постоянно придумывает что-то новое и это надо быстро внедрять ✓ Зоопарк контейнеров, кодеков и DRM ✓ 6 DRM систем ✓ 52 конфигурации кодирования ✓ Сохранение истории параметров кодирования ✓ Проблемы с тестированием системы кодирования ✓ Стандартные проблемы системы массового обслуживания Какие у нас были проблемы
  5. 5. 5 Ожидания бизнеса ✓ Дешевый специалист ✓ Все умеет ✓ В восторге от однообразной работы Кто такой оператор кодирования Ожидания тех. департамента ✓ ну пожалуйста, пусть, как на картинке Чего мы старались добиться ✓ Создать систему с низким уровнем вхождения для операторов ✓ Возможность использования дешевых и низкоквалифицированных сотрудников on demand ✓ Не увеличивать число профи
  6. 6. 6 ✓ Проверка оригинала ✓ Bitrate ✓ Пропорции ✓ FPS ✓ Звуковые дорожки ✓ и т.д. ✓ Кодирование в нужный bitrate ✓ Упаковка в нужный контейнер (возможно + шифрование) ✓ Отправка на origin сервера ✓ Контроль качества Этапы подготовки видео
  7. 7. 7 Чем кодируем ffmpeg + разный софт Elemental Контейнеры ✓ mp4 ✓ HLS ✓ DASH ✓ HDS Контейнеры ✓ HSS ✓ DASH (4K) ✓ HLS Кодеки ✓ h.264 ✓ h.265 Кодеки ✓ h.264 ✓ h.265 DRM ✓ WideVine Classic ✓ WideVine Modular ✓ FairPlay ✓ Verimatrix ✓ Adobe DRM ✓ PlayReady ✓ Verimatrix
  8. 8. 8 ✓ API ✓ Админка для разработчиков ✓ Админка для операторов кодирования ✓ Управление контейнерами ✓ Примитивная оркестрация Общая архитектура системы обработки видео
  9. 9. 9 Каждый контейнер последовательно выполняет несколько типов задач (не обязательно для одного и того же видеопотока) ✓ mp4 ✓ HLS ✓ DASH ✓ HDS Содержимое контейнера ✓ Ubuntu ✓ ffmpeg, ffprobe, mp4box и т.д. ✓ Django Что внутри контейнера?
  10. 10. 10 Интеграция с Elemental и с любыми другими сервисом кодирования
  11. 11. 11 Сложно построить систему массового обслуживания без приоритезации заданий и мы добавили приоритеты ✓ обычный ✓ срочный ✓ мега срочный ✓ супер срочный ✓ мне надо вчера ✓ внезапно (с) В. Прохода Приоритеты
  12. 12. 12 Приоритетов оказалось недостаточно, так появились маршруты ✓ Трейлеры ✓ Реклама ✓ Горячие Премьеры ✓ Число маршрутов не ограничено Маршруты
  13. 13. 13 ✓ Службе эксплуатации пришлось повозиться, чтобы перестроить мировоззрение ✓ У Docker есть особенности. Некоторые баги ловили по полгода ✓ Эксперименты с Kubernetes убедили нас им не пользоваться ✓ Debug системы кодирования занимает космическое время Какие проблемы встретили по дороге
  14. 14. 14 ✓ Простота эксплуатации ✓ Масштабируемость ✓ Подробное логирование всех этапов обработки видео ✓ Возможность подключать любые внешние сервисы ✓ за 2016 год весь каталог ivi был перекодирован несколько раз (весь каталог ~ 2 Pb) ✓ Счастье QA Чего удалось добиться
  15. 15. Спасибо за внимание! 2017 © ivi erossinsky@ivi.ru

×