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

More Related Content

What's hot

Тренинг TrueConf, часть2
Тренинг TrueConf, часть2Тренинг TrueConf, часть2
Тренинг TrueConf, часть2TrueConf
 
Видео в сети
Видео в сетиВидео в сети
Видео в сетиGetDev.NET
 
Hl09 Free Bsd2009 Pantyukhin
Hl09 Free Bsd2009 PantyukhinHl09 Free Bsd2009 Pantyukhin
Hl09 Free Bsd2009 PantyukhinHighLoad2009
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETAndrew Gubskiy
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaSProvectus
 
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...TrueConf
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе dockerIvan Grishaev
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаPavel Filonov
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineerscorehard_by
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"Alexander Akbashev
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConf
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConfWebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConf
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConfTrueConf
 
TrueConf на Бизнес-Видео-2016
TrueConf на Бизнес-Видео-2016TrueConf на Бизнес-Видео-2016
TrueConf на Бизнес-Видео-2016TrueConf
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...TrueConf
 
Наиболее интересные технологические нововведения IBM i
Наиболее интересные технологические нововведения IBM iНаиболее интересные технологические нововведения IBM i
Наиболее интересные технологические нововведения IBM iAliaksei Hlinski
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalrit-people
 

What's hot (18)

Тренинг TrueConf, часть2
Тренинг TrueConf, часть2Тренинг TrueConf, часть2
Тренинг TrueConf, часть2
 
Видео в сети
Видео в сетиВидео в сети
Видео в сети
 
Hl09 Free Bsd2009 Pantyukhin
Hl09 Free Bsd2009 PantyukhinHl09 Free Bsd2009 Pantyukhin
Hl09 Free Bsd2009 Pantyukhin
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NET
 
Yet Another PaaS
Yet Another PaaSYet Another PaaS
Yet Another PaaS
 
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...
7 причин, почему мир видеоконференцсвязи никогда уже не будет прежним. Лев Як...
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе docker
 
Continuous Integration для C++ разработчика
Continuous Integration для C++ разработчикаContinuous Integration для C++ разработчика
Continuous Integration для C++ разработчика
 
Continuous Integration for C++ engineers
Continuous Integration for C++ engineersContinuous Integration for C++ engineers
Continuous Integration for C++ engineers
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConf
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConfWebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConf
WebRTC: Плюсы, минусы и подводные камни. Стас Солдатов, TrueConf
 
TrueConf на Бизнес-Видео-2016
TrueConf на Бизнес-Видео-2016TrueConf на Бизнес-Видео-2016
TrueConf на Бизнес-Видео-2016
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...
Видеоконференцсвязь для образования. Опыт Пермского ГНИУ. Докладчик: Тимофей ...
 
Наиболее интересные технологические нововведения IBM i
Наиболее интересные технологические нововведения IBM iНаиболее интересные технологические нововведения IBM i
Наиболее интересные технологические нововведения IBM i
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
 

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

"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...DotNetConf
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Max Lapshin
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковDevGAMM Conference
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
12 elemental guryanov
12 elemental guryanov12 elemental guryanov
12 elemental guryanovconnecticalab
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo..."Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...MoscowJS
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Ontico
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Video 111127013709-phpapp02
Video 111127013709-phpapp02Video 111127013709-phpapp02
Video 111127013709-phpapp02Newlink
 
Video 111127013709-phpapp02
Video 111127013709-phpapp02Video 111127013709-phpapp02
Video 111127013709-phpapp02LLC NewLink
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHivePavel Lipanov
 
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...TrueConf
 

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

"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.
 
Sivko
SivkoSivko
Sivko
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
12 elemental guryanov
12 elemental guryanov12 elemental guryanov
12 elemental guryanov
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo..."Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Hl Nekoval
Hl NekovalHl Nekoval
Hl Nekoval
 
Видео в сети
Видео в сетиВидео в сети
Видео в сети
 
Video 111127013709-phpapp02
Video 111127013709-phpapp02Video 111127013709-phpapp02
Video 111127013709-phpapp02
 
Video 111127013709-phpapp02
Video 111127013709-phpapp02Video 111127013709-phpapp02
Video 111127013709-phpapp02
 
Что такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHiveЧто такое мобильная платформа HyperHive
Что такое мобильная платформа HyperHive
 
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...
Лучшие практики использования ВКС. Обзор системы видеоконференцсвязи TrueConf...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

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

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

Editor's Notes

  1. 1) непривычно, люди привыкли заходить на машины по ssh, запускать скрипты, смотреть запущенные процессы, читать логи, здесь для всего этого нужно привыкать к новым инструментам 2) многие сервисы пришлось переделывать под докерную философию "один контейнер = один процесс", что не везде удобно 3) когда что-то не работало, сложно было искать причину ошибки (то докер никак не мог тупо скачать образ, а сообщения в логах были неинформативными, то сам кубернетис сыпал логами в громадных объемах и в них ничего нельзя было найти) 4) когда запущенный в докере сервис или скрипт падал, кубернетис бодро его перезапускал, удаляя старый контейнер и оставляя нас без диагностической информации 5) сборка докер-образов идет долго (по сравнению с выкладкой кода rsync), даже если принять во внимание кеширование слоев сборки, которое есть в докере Часть проблем с тех пор, вероятно, решена свежими версиями докера и кубрнетиса, два года прошло Ну и еще один из основных плюсов куберетиса (возможность запускать заданное число копий каждого сервиса) для тестовых кластеров малополезен Еще к пункту 1 или 2 --- у нас много скриптов, которые тестировщики запускают руками из консоли, зайдя куда-либо по ssh, а с кубернетисом некуда заходить по ssh и скрипты приходилось запускать в отдельных контейнерах, для чего пришлось изобрести специальную гуйню Вот это точно успели пофиксить с тех пор в докере или кубернетисе