Media file question
-
I was just reading an article about HTML5 and suddenly realised that I have no idea about what codecs / containers are or how they work. Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level? I tried the goog but i just seem to get links to lists of things on wikipedia
-
I was just reading an article about HTML5 and suddenly realised that I have no idea about what codecs / containers are or how they work. Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level? I tried the goog but i just seem to get links to lists of things on wikipedia
Russell Jones wrote:
codecs
That's basically an algorithm for encoding(aka compressing)/decoding(aka uncompressing) audio/video. More concretely, they are functions (in DLL's/EXE's?) that perform certain predefined operations on a video (e.g., decode a certain frame).
Russell Jones wrote:
containers
I suppose AVI would be a container file format, as you can use many possible codecs with it (i.e., it contains the data). Using it as a container to support multiple types of streams makes it possible to play with a standard video player (assuming the proper codec is installed).
Russell Jones wrote:
Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level?
I do not.
-
Russell Jones wrote:
codecs
That's basically an algorithm for encoding(aka compressing)/decoding(aka uncompressing) audio/video. More concretely, they are functions (in DLL's/EXE's?) that perform certain predefined operations on a video (e.g., decode a certain frame).
Russell Jones wrote:
containers
I suppose AVI would be a container file format, as you can use many possible codecs with it (i.e., it contains the data). Using it as a container to support multiple types of streams makes it possible to play with a standard video player (assuming the proper codec is installed).
Russell Jones wrote:
Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level?
I do not.
I guess I kind of know what they are at that level but in my mind what the codec does might as well be written as "Now here the magic happens". I'd love to know something about what algorithms are used and how the container knows which ones are used for a given file. Maybe it's one of those subjects where going from vaguely understanding how the thing works to actually understanding it is a massive step but I just realised that I glibly talk about these things but don't really know what they are.
-
I was just reading an article about HTML5 and suddenly realised that I have no idea about what codecs / containers are or how they work. Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level? I tried the goog but i just seem to get links to lists of things on wikipedia
Russell Jones wrote:
Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level?
Try these ... http://html5doctor.com/[^] http://html5demos.com/[^] And don't forget to look up CSS3
-
Russell Jones wrote:
Does anyone know of a good site that explains how all this stuff fits together at a reasonably technical level?
Try these ... http://html5doctor.com/[^] http://html5demos.com/[^] And don't forget to look up CSS3
that looks just the ticket Thank you :)
-
I guess I kind of know what they are at that level but in my mind what the codec does might as well be written as "Now here the magic happens". I'd love to know something about what algorithms are used and how the container knows which ones are used for a given file. Maybe it's one of those subjects where going from vaguely understanding how the thing works to actually understanding it is a massive step but I just realised that I glibly talk about these things but don't really know what they are.
Historically FOURCC's have been used in container formats often to tell which codec was used, it's up to the decoder to do the actual FOURCC -> codec mapping (and of course a codec does not necessarily have to be present as a dll, one might just as well roll everything into a single monolithic exe) The algorithms used depend on what kind of data it is, but often involves some kind of DCT, a step dropping unnoticeable detail, a quantization step and entropy coding, because a good deal of data can be dropped from the frequency domain without being overly noticeable (due to imperfections in human perception). Pictures (jpg and more) movies (mpeg2, H.264, and more), and sound (mp3 and more) all have codecs for them that work that way, with the movie/picture codecs dropping significantly more Chroma information than Luma information, and the audio codecs dropping sounds outside of the "normal" frequency range, the video codecs all (as far as I know, only reasonable codecs counted) assume that the frames typically do not change very much from one to an other and use that to reduce the data even further. Is that what you wanted to know? note: I apologize in advance for all errors I must have made, I only just woke up (yes I know, this late)
-
that looks just the ticket Thank you :)