Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Как сделать стриминг для сервиса, который хранит...
-
Upload
yandex -
Category
Technology
-
view
224 -
download
0
description
Transcript of Как сделать стриминг для сервиса, который хранит...
![Page 1: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/1.jpg)
Стриминг для сервиса, который хранит миллионы видеофайлов.
Лев Толмачев
![Page 2: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/2.jpg)
〉Более 40 млн пользователей
〉Более 10 млрд файлов
〉Более 20 млн новых файлов в сутки
2
![Page 3: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/3.jpg)
3
mkv
wmv
mp4
webm
avi ogv
![Page 4: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/4.jpg)
〉Разные исходные форматы
〉Размер файла и скорость сети
〉Некоторые форматы требуют скачивания файла целиком
〉Различные разрешения
4
Проблемы
![Page 5: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/5.jpg)
5
Диск - не видеохостинг!
![Page 6: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/6.jpg)
6
Архитектура
Storage
iOS
Android
Firefox
Safari
Yandex.BrowserWinPhone
Chrome
![Page 7: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/7.jpg)
7
Архитектура
Storage
Transcoder
avi, mkv, ogv, …
iOS
Android
Firefox
Safari
Yandex.BrowserWinPhone
Chrome
mp4, webm, hls
![Page 8: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/8.jpg)
8
Архитектура
Core
Controller
File 1 File 2 File 3
Free Free
Transcoder
Core Core Core Core Core Core Core
![Page 9: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/9.jpg)
Ffmpeg
9
Архитектура.Транскодер
Storage
HTTP
/…/file.mp4
Controller
GETstart
file.mp4
![Page 10: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/10.jpg)
Ffmpeg
10
Архитектура.Транскодер
Storage
HTTP
file.mp4
Controller
GETstart
file2.mp4
![Page 11: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/11.jpg)
11
HLS
#EXTINF:5
a0.ts
#EXTINF:7
a1.ts
#EXTINF:3
a2.ts
…..
#EXT-X-ENDLIST
a0.ts
a1.ts
a2.ts
playlist.m3u8
![Page 12: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/12.jpg)
12
HLS
#EXTINF:5
a0.ts
#EXTINF:7
a1.ts
a0.ts
a1.ts
playlist.m3u8
![Page 13: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/13.jpg)
13
HLS
a0.ts a1.ts a2.ts a3.ts a4.ts a5.ts a6.ts a7.ts a8.ts a9.ts
Ffmpeg
![Page 14: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/14.jpg)
14
HLS
a0.ts a1.ts a2.ts a3.ts a4.ts a5.ts a6.ts a7.ts a8.ts a9.ts
Ffmpeg
![Page 15: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/15.jpg)
15
HLS
a0.ts a1.ts a2.ts a3.ts a4.ts a5.ts a6.ts a7.ts a8.ts a9.ts
Ffmpeg
![Page 16: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/16.jpg)
16
HLS
a0.ts a1.ts a2.ts a3.ts a4.ts a5.ts a6.ts a7.ts a8.ts a9.ts
Ffmpeg
Ffmpeg
![Page 17: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/17.jpg)
17
HLS
Ffmpeg
Ffmpeg
Ffmpeg
![Page 18: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/18.jpg)
18
Архитектура
Storage
Transcoder
avi, mkv, ogv, …
iOS
Android
Firefox
Safari
Yandex.BrowserWinPhone
Chrome
mp4, webm, hls
![Page 19: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/19.jpg)
19
АрхитектураPlayer
Balancer
Transcoder TranscoderTranscoder
Storage
![Page 20: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/20.jpg)
20
АрхитектураPlayer
Balancer
Transcoder TranscoderTranscoder
Storage
Balancer
![Page 21: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/21.jpg)
21
АрхитектураPlayer
Balancer
Transcoder TranscoderTranscoder
Storage
Balancer
video content
![Page 22: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/22.jpg)
〉Один файл - несколько ядер процессора
〉Один меньше 50 файлов одновременно
22
Проблема
![Page 23: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/23.jpg)
〉Один файл - несколько ядер процессора
〉Один меньше 50 файлов одновременно
23
Проблема
Идея!
Используем дедубликацию. Не будем конвертировать файл несколько раз для разных клиентов.
![Page 24: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/24.jpg)
24
Популярные файлы
Balancer
Клиент 1
Storage
Transcoder
Клиент 2
Клиент 3
Клиент 4
![Page 25: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/25.jpg)
〉Один файл - один транскодер
〉Один транскодер - один датацентр
〉Все запросы про файл попадают на одну машину
25
Проблема
![Page 26: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/26.jpg)
26
Очень популярные файлы
API
Клиент 1
RealtimeOffline
Конвертация
Клиент 2
Подсчет числа просмотров
Популярные файлы
![Page 27: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/27.jpg)
〉Работаем как с личными так и с очень популярными роликами
〉Миллионы просмотров в сутки
〉Экономия ресурсов
27
Результат
![Page 28: Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Толмачев](https://reader033.fdocument.pub/reader033/viewer/2022051413/559c1dee1a28abc7298b463a/html5/thumbnails/28.jpg)
Лев Толмачев
Руководитель группы облачного медиа
Контакты