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
Iskander (Alex) Sharipov
October 13, 2019
Programming
0
200
Доставка live-video на Go
Iskander (Alex) Sharipov
October 13, 2019
Tweet
Share
More Decks by Iskander (Alex) Sharipov
See All by Iskander (Alex) Sharipov
quasigo
quasilyte
0
47
Go gamedev: XM music
quasilyte
0
110
Zero alloc pathfinding
quasilyte
0
470
Mycelium
quasilyte
0
58
Roboden game pitch
quasilyte
0
190
Ebitengine Ecosystem Overview
quasilyte
1
840
Go gamedev patterns
quasilyte
0
460
profile-guided code analysis
quasilyte
0
350
Go inlining
quasilyte
0
120
Other Decks in Programming
See All in Programming
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
340
Benchmark
sysong
0
280
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
2
240
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
880
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
620
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
50
32k
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
270
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
240
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
1.7k
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
420
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Rails Girls Zürich Keynote
gr2m
94
14k
We Have a Design System, Now What?
morganepeng
53
7.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Docker and Python
trallard
44
3.5k
Raft: Consensus for Rubyists
vanstee
140
7k
The Invisible Side of Design
smashingmag
300
51k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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 – доклад про транскодинг и отладку