Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Доставка live-video на Go
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Iskander (Alex) Sharipov
October 13, 2019
Programming
210
0
Share
Доставка live-video на Go
Iskander (Alex) Sharipov
October 13, 2019
More Decks by Iskander (Alex) Sharipov
See All by Iskander (Alex) Sharipov
quasigo
quasilyte
0
100
Go gamedev: XM music
quasilyte
0
150
Zero alloc pathfinding
quasilyte
0
730
Mycelium
quasilyte
0
97
Roboden game pitch
quasilyte
0
290
Ebitengine Ecosystem Overview
quasilyte
1
990
Go gamedev patterns
quasilyte
0
530
profile-guided code analysis
quasilyte
0
390
Go inlining
quasilyte
0
160
Other Decks in Programming
See All in Programming
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
410
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
440
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.6k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
460
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
15
7k
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
140
Oxlintのカスタムルールの現況
syumai
5
830
net-httpのHTTP/2対応について
naruse
0
240
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
120
Inspired By RubyKaigi (EN)
atzzcokek
0
320
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.2k
初めてのRubyKaigiはこう見えた
jellyfish700
0
230
Featured
See All Featured
Everyday Curiosity
cassininazir
0
210
Navigating Weather and Climate Data
rabernat
0
200
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Chasing Engaging Ingredients in Design
codingconduct
0
200
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Docker and Python
trallard
47
3.9k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Between Models and Reality
mayunak
4
310
Transcript
Доставка live-video на Go Илья Щербак
[email protected]
Принципиальная схема Live
Реальная схема Live
Контейнер выполняет функцию оркестрации медиа Хранит метаинформацию о файле
Про контейнеры Указывает плееру где находятся нужные фреймы Хранит информацию по таймингу 1 2 3 4
Какие бывают контейнеры ▪ MP4 ▪ MPEG-TS ▪ OGG ▪
FLV ▪ Matroska
Транспортные медиа протоколы ▪ RTP/SRTP ▪ RTMP ▪ HLS ▪
MPEG-DASH ▪ HDS
RTMP ▪ Плохой дизайн протокола ▪ Спецификация не соответствует реализации
Flash Player ▪ Индивидуальный поток для каждого пользователя ▪ Очень плохо кешируется ▪ RTMP всё
HLS ▪ Хорошо кэшируется ▪ Быстро раздается ▪ Хорошо подходит
для broadcast ▪ Поддерживается на многих платформах ▪ Рабочий адаптивный стриминг
Как выглядит транспорт RTMP HLS
Добавляем транскодер Mediaserver Transcoder Transcoder RTMP HLS
Why Go is a good choice? ▪ SMP ▪ Channels
▪ C-style code ▪ Native back-pressure ▪ Easy build and deploy ▪ Easy to learn
Links ▪ https://github.com/VKCOM/kive – наш медиа сервер ▪ https://github.com/VKCOM/joy4 –
библиотека для работы с media ▪ https://www.ffmpeg.org/ – ffmpeg ▪ https://vk.com/video-147415323_456239030 – доклад про транскодинг и отладку