{"type":"excalidraw","version":2,"source":"https://AwesomeSystemDesign.dev","elements":[{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-1"}],"updated":0,"link":null,"locked":false,"id":"shape-0","type":"rectangle","seed":41,"x":16,"y":16,"width":288,"height":93.2,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-1","type":"text","seed":114,"x":36,"y":34,"width":248,"height":57.2,"fontSize":22,"fontFamily":1,"text":"Video Timeline\n(segments)","originalText":"Video Timeline\n(segments)","textAlign":"left","verticalAlign":"middle","containerId":"shape-0","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-3"}],"updated":0,"link":null,"locked":false,"id":"shape-2","type":"rectangle","seed":187,"x":16,"y":153.2,"width":288,"height":150.4,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-3","type":"text","seed":260,"x":36,"y":171.2,"width":248,"height":114.4,"fontSize":22,"fontFamily":1,"text":"1080p |1080p | 720p\n| 480p |720p\nseg1 | seg2 | seg3 |\nseg4 | seg5","originalText":"1080p |1080p | 720p\n| 480p |720p\nseg1 | seg2 | seg3 |\nseg4 | seg5","textAlign":"left","verticalAlign":"middle","containerId":"shape-2","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#a68a53","backgroundColor":"#fff7e6","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-5"}],"updated":0,"link":null,"locked":false,"id":"shape-4","type":"rectangle","seed":333,"x":16,"y":347.6,"width":288,"height":1180,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-5","type":"text","seed":406,"x":36,"y":365.6,"width":248,"height":1144,"fontSize":22,"fontFamily":1,"text":"Adaptive Bitrate\nStreaming\n\nThe player\ndynamically switches\nquality based on the\nviewer's network\nbandwidth.\n\nbandwidth bandwidth\ndropped recovered\n\nEach segment is 2-10\nseconds of video.\nPlayer can switch\nquality at segment\nboundaries.\nSeamless to the\nviewer -- no pause\nneeded.\n\nProtocol: HLS (Apple)\nor DASH\n(MPEG-DASH)\nBoth work the same\nway:\n1. Client fetches a\nMANIFEST file\n2. Manifest lists all\navailable qualities +\nsegment URLs\n3. Client selects\nquality based on\nbandwidth estimation\n4. Client fetches\nsegments one by one\n5. Client monitors\ndownload speed,\nswitches quality\nif bandwidth changes","originalText":"Adaptive Bitrate\nStreaming\n\nThe player\ndynamically switches\nquality based on the\nviewer's network\nbandwidth.\n\nbandwidth bandwidth\ndropped recovered\n\nEach segment is 2-10\nseconds of video.\nPlayer can switch\nquality at segment\nboundaries.\nSeamless to the\nviewer -- no pause\nneeded.\n\nProtocol: HLS (Apple)\nor DASH\n(MPEG-DASH)\nBoth work the same\nway:\n1. Client fetches a\nMANIFEST file\n2. Manifest lists all\navailable qualities +\nsegment URLs\n3. Client selects\nquality based on\nbandwidth estimation\n4. Client fetches\nsegments one by one\n5. Client monitors\ndownload speed,\nswitches quality\nif bandwidth changes","textAlign":"left","verticalAlign":"middle","containerId":"shape-4","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":3}}],"appState":{"viewBackgroundColor":"#fbfbf8","gridSize":null},"files":{}}