Upload
anton-pinchuk
View
137
Download
4
Embed Size (px)
Citation preview
Основы видео стриминга. Бесплатный сервер стриминга
для себя и маленькой сети.
• Антон Пинчук
• Системный администратор
• Уже 4й год
То чторасскажу
То что хочу
рассказать
О чем я расскажу в двух частях:
?
Зачем?
Мне? Вам?
Что это такое?
История Платформы
Доставка пользователю
Виды Методы Протоколы
Схема
Теория Практика
Элементы стрима
Источники Микшеры OBS Настройки Схема
передачи на сервер
Сервер
Установка Виды настройки HDS + HLS Статистика
Первая часть
Вторая частьСхема
обработки видео
Что куда идет и зачем
BitRate
Принцип CBR VBR
CODEC
Принцип Пирамида
сжатия Прикладные
кодеки Примеры
сжатия
Для чего это понадобилось мне?
Хватит о себе, для чего это вам?
Какие бонусы?)))
Какие минусы?)))
Что же такое стриминг?
Немного истории))
Методы доставки контента
Streaming
Adaptive Bitrate Streaming
File Download
Progressive Download
Pseudo-Streaming
File Download
Progressive Download
Pseudo-StreamingTo HTTP
Streaming
Adaptive Bitrate Streaming
Виды доставки
Live (Прямой Эфир) On-Demand (По требованию)
Streaming Adaptive str. Download Streaming Progressive Dwn. Adaptive Streaming
Сложности выбора!
HLS – HDS - Dash, RTMP-RTSP, Progressive…
HLS File Structure
Master Playlist.mp4.m3u8
Playlist Bitrate 1.mp4.m3u8
Segment 1 Bitrate 1.mp4.ts
Segment 2 Bitrate 1.mp4.ts
Playlist Bitrate 2.mp4.m3u8
Segment 1 Bitrate 2.mp4.ts
Segment 2 Bitrate 2.mp4.ts
HDS File Structure
Master Manifest.f4m
Manifest Bitrate 1.f4m
Index Bitrate 1.f4x
Fragment Bitrate 1.f4f
Manifest Bitrate 2.f4m
Index Bitrate 2.f4x
Fragment Bitrate 2.f4f
Real Time Messaging Protocol (RTMP)
• TCP streaming protocol• Live and VOD • Поддерживается множеством софта• Не HTTP• Быстр
Логическая схема стриминга
Получение данных
Готовка(микширование
и сжатие)
Раздача зрителям
Практическая схемаSource Mixer Encoder Server People
Что же может быть источником?
А тут список Software решений• Open source[edit] Commercial[edit]• DVSwitch (Linux) avtake CutFour (SD/HD,
Microsoft Windows 7 64bit) [11] • FreeJ (Linux & OS X) [2] wdCamCamX (Mac OS X) [13]
• ScreenStudio (Linux & partially OS X) [3] ManyCam (Mac OS X and Microsoft Windows) [14]
• WebcamStudio (Linux) [4] D3DGear Broadcaster(Microsoft Windows) [15]
• Open Broadcaster Software(Linux,Microsoft Windows,OS X) [5 XSplit Broadcaster (Microsoft Windows) [19]
• CasparCG (Microsoft Windows) [6] vMix (Microsoft Windows) [17]
• Voctomix (Linux) [7] Wirecast (Mac OS X) and (Microsoft Windows) [18]
• Freeware[edit] CamTwist (Mac OS X) [8]
• FFsplit (Microsoft Windows) [9] • Wirecast for YouTube(Microsoft Windows, Mac OS X) [10] •
32
33
34
С чем имел дело я?
IP Camera+ RadioMic+AudioMixer
IP h.264+audio with lag
PC+OBSAudio In +
RTSP Module
Transformation 3000 Bitrate
RTMP
NGINX-RTMPJV Player
Качественные характеристики стрима!
• Зачем все это?• Bitrate• Quality• Theoretical Codec (FPS, Colours, Picture, Audio)• Practical Codecs
36
Bitrate
37
38
39
40
41
42
Quality(Искажения)
Computation(Вычисления)к
Comression (rate)
43
44
45
46
47
Bitrate
FileSizeQuality
48
Прикладные кодеки• H.264• Intel QuickSync• Nvidia NVENC
49
50
51
Выжимка
52
H.264 NVENC QS
Bitrate CPU Video CPU Video CPU Video Intel Video
1500 55% 10% 16% 16% 16% 34% 57%
3000 60% 10% 17% 17% 17% 35% 59%
4500 64% 10% 17% 17% 18% 38% 60%
Как это выглядит у больших компаний?
• Youtube – принимает в RTMP. А потом пережав на своих серверах, отдает уже в Dash на плеер.
• Как и Twitch –то же самое, но использует HLS.Вывод: сначала побыстрее получить поток от вас, а потом сжать и передать с помощью HTTP на CDN - дешево и сердито.
53
Не забыть• Юникаст – бродкаст – мультикаст• Безопасность.
54
55
?