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
210
Доставка 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
50
Go gamedev: XM music
quasilyte
0
110
Zero alloc pathfinding
quasilyte
0
480
Mycelium
quasilyte
0
60
Roboden game pitch
quasilyte
0
200
Ebitengine Ecosystem Overview
quasilyte
1
860
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
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
200
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
17
6k
Yes, You Can Work on Rails & any other Gem
kaspth
0
110
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
4
700
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
200
AI Ramen Fight
yusukebe
0
110
slogパッケージの深掘り
integral0515
0
140
20250708_JAWS_opscdk
takuyay0ne
2
150
Caude codeで爆速開発
codelynx
0
100
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
680
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
700
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Practical Orchestrator
shlominoach
189
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
990
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Why Our Code Smells
bkeepers
PRO
337
57k
What's in a price? How to price your products and services
michaelherold
246
12k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Making Projects Easy
brettharned
116
6.3k
How STYLIGHT went responsive
nonsquared
100
5.7k
Designing for humans not robots
tammielis
253
25k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
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 – доклад про транскодинг и отладку