Isn&#x27;t a lot of that related to how the video is encoded&#x2F;decoded though?  I have only a basic understanding of how it works through working with video (not developing or tweaking actual codecs) but when I&#x27;m doing VJ-type stuff in Resolume (for example) I use a setup where all clips are encoded with a keyframe every frame.  It makes for some huge clips but I can scrub or jump around or manipulate clips with no delay at all.<p>On the opposite end you&#x27;ve got streaming video or even many common formats and settings for ripped&#x2F;downloaded video.  Those do a keyframe every (x) frames and then between keyframes the file only contains the data for changes to the keyframe.  This gets you smaller files so your downloads are quicker and your streams look nicer while using less bandwidth.<p>I know there&#x27;s a lot more to it but at least with locally stored files, I thought it mostly had to do with keyframes.  With streaming I&#x27;d imagine it&#x27;s related more to how the stream is managed to download in chunks and maximize quality versus bandwidth (rather than focusing on quick scrubbing or quick access to random points of the video).<p>I&#x27;m interested in this stuff so if there&#x27;s something I&#x27;m missing or flat-out wrong about, feel free to educate me.