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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Iskander (Alex) Sharipov
October 13, 2019
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Доставка live-video на Go
Iskander (Alex) Sharipov
October 13, 2019
More Decks by Iskander (Alex) Sharipov
See All by Iskander (Alex) Sharipov
quasigo
quasilyte
0
110
Go gamedev: XM music
quasilyte
0
160
Zero alloc pathfinding
quasilyte
0
790
Mycelium
quasilyte
0
110
Roboden game pitch
quasilyte
0
300
Ebitengine Ecosystem Overview
quasilyte
1
1k
Go gamedev patterns
quasilyte
0
560
profile-guided code analysis
quasilyte
0
390
Go inlining
quasilyte
0
180
Other Decks in Programming
See All in Programming
仕様駆動開発の消費期限
watany
20
9.1k
源内ハンズオン概要編
hideg
0
220
「人を評価する AI」の設計と実装
ryoyanara
0
260
Cloudflare is Agents
chimame
0
180
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
440
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
240
MySQLとPostgreSQLって何が違うの?
akagami
0
150
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
270
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.8k
Dockerfile CMD for Node.js
grazie1999
0
140
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Odyssey Design
rkendrick25
PRO
2
780
A better future with KSS
kneath
240
18k
4 Signs Your Business is Dying
shpigford
187
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
530
WCS-LA-2024
lcolladotor
0
810
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
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 – доклад про транскодинг и отладку