A Practical Guide to Video and Audio Compression: From Sprockets and Rasters to Macro Blocks