⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

live streaming server

user 1

user 2

broadcaster

RTMP

DASH

Single live streaming server can fail for Facebook load

broadcaster

LS server

ls server

ls server data centres

RTMP

key: streamId

consistent hashing

Adaptive Bitrate

video streams recorded

V11

V12

v13

V1n

Latency control

live server

Origin server ASIA

Origin server USA

Origin server Africa

Edge server India

Edge server china

edge server pakistan

Edge server

Edge server

edge server

Imagine each continent has an origin server, while each country has many edge servers.

Thundering Herd:

the client library takes the video and breaks it up into smaller chunks corresponding to GOPs (Groups Of Pictures) roughly equivalent to a scene in a video which is sent to the server

Live streaming server

GOPs

GOPs

packaging, encoding is done on client app Uses encoding like H.264 and AAC codecs or AI encoder for video and audio before warping the compressed frames in an RTMP compatible format and sending the packets to the server.

Video Upload

order all artchitecture

On the server-side a pre-processor receives the chunks and writes them to a cache and then starts encoding them in parallel as the chunks arrive.

Live stream server

cache incoming packates

transdoer

multiple formates media files

create MPEG DASH complatible transferable file. It contains manifest file. It stores index pointer to media files

Edge cache

http proxy

Origin Server

cache hit

Cache miss

EDGE Server

user request

Live steaming server

same artchitecture as edge server

4 requests

2 requests

1 requests

Message queue