⚠ 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