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
52
Go gamedev: XM music
quasilyte
0
110
Zero alloc pathfinding
quasilyte
0
490
Mycelium
quasilyte
0
61
Roboden game pitch
quasilyte
0
200
Ebitengine Ecosystem Overview
quasilyte
1
860
Go gamedev patterns
quasilyte
0
470
profile-guided code analysis
quasilyte
0
360
Go inlining
quasilyte
0
120
Other Decks in Programming
See All in Programming
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
610
実践!App Intents対応
yuukiw00w
1
230
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
970
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
330
Flutterと Vibe Coding で個人開発!
hyshu
1
250
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
810
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
190
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
180
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
200
Portapad紹介プレゼンテーション
gotoumakakeru
1
120
新世界の理解
koriym
0
130
Featured
See All Featured
Docker and Python
trallard
45
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
A Tale of Four Properties
chriscoyier
160
23k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Git: the NoSQL Database
bkeepers
PRO
431
65k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Balancing Empowerment & Direction
lara
1
540
Automating Front-end Workflow
addyosmani
1370
200k
Six Lessons from altMBA
skipperchong
28
3.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Statistics for Hackers
jakevdp
799
220k
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 – доклад про транскодинг и отладку