Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
78
Go gamedev: XM music
quasilyte
0
130
Zero alloc pathfinding
quasilyte
0
570
Mycelium
quasilyte
0
81
Roboden game pitch
quasilyte
0
240
Ebitengine Ecosystem Overview
quasilyte
1
920
Go gamedev patterns
quasilyte
0
490
profile-guided code analysis
quasilyte
0
370
Go inlining
quasilyte
0
130
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
170
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
110
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
390
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
400
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
870
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
LT資料
t3tra
6
960
Graviton と Nitro と私
maroon1st
0
110
JETLS.jl ─ A New Language Server for Julia
abap34
2
420
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
430
Featured
See All Featured
First, design no harm
axbom
PRO
1
1k
Bash Introduction
62gerente
615
210k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
180
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
740
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Docker and Python
trallard
47
3.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
200
Google's AI Overviews - The New Search
badams
0
860
Designing for humans not robots
tammielis
254
26k
RailsConf 2023
tenderlove
30
1.3k
Fireside Chat
paigeccino
41
3.8k
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 – доклад про транскодинг и отладку