This creates an abstract Demuxer class to allow multiple container container formats to be easily used by video playback systems.