Codec? Mux? Container? Reference material?

I know a lot about computers and business oriented application programming. Video oriented programming is a big blank. I used to think that file types were file types, but this is not the case for video file types. For example, all MP4 files are not alike and I haven't been able to figure this mix out. There's codecs, muxes, containers, and lots more. I have little to no idea of what they mean.
Does anyone know of a web site or text that explains this all out clearly for a beginner in this area to get a toehold? I don't want to be a video programmer, just someone who understands the vocabulary and how to eventually use the information at a technical level.
Does anyone know of a web site or text that explains this all out clearly for a beginner in this area to get a toehold? I don't want to be a video programmer, just someone who understands the vocabulary and how to eventually use the information at a technical level.