[Bug 27025] Video and audio elements should specify video/audio formats, not implementations (codecs)

https://www.w3.org/Bugs/Public/show_bug.cgi?id=27025

--- Comment #3 from Cyril Concolato <cyril.concolato@telecom-paristech.fr> ---
(In reply to Thue Janus Kristensen from comment #0)
> There seem to be some major confusion in the current HTML5 specification on
> the definition of a codec. 
I don't think there is any confusion, even if the text could possibly be
clarified to reflect what I describe below.

> Lets start by definitions:
> 
> An *video coding format* is a standard for how a video is represented in a
> file or bitstream format.
> 
> A *codec* is a specific program which can encode and/or decode a video
> coding format.
I understand your concern about ambiguous terms and about having text
understood by as many people as possible but the definitions you give are
actually not 100% correct. Codec should actually be viewed as the "coding (or
decoding) algorithm" used to transmit a video. Examples of codecs are
H.264/AVC, MPEG-4 Part 2, Ogg Theora, ... The actual software/hardware
implementing it does not matter. That is how professional video users
understand the term. It's unfortunate that the general public confuses the
software/hardware tool with the algorithm. As for what you call "video coding
format", this concerns only specific file formats such as files with extension
.264 or .h264, but in practice people use "container formats", i.e. file
formats capable of storing not only video data but audio, subtitle, metadata
... Examples of such formats are: MP4, WebM, MKV, Ogg, MPEG-2 TS, ...

> 
> As an analogy, Office Open XML is a file format (~=video coding format), and
> Microsoft Office is a program (~=codec) to read Office Open XML files. If
> there were an office document tag, it would be quite absurd if a
> hypothetical office document tag had "program=microsoft-office" instead of
> "format=docx". Nonetheless, the current HTML5 video/audio tags have a
> "codecs=" parameter.
HTML does not define the "codecs" parameter. HTML5 refers to the RFC 6381
[http://tools.ietf.org/html/rfc6381] which defines a "codecs" parameter for MP4
files (and similar).

> 
> As such, the HTML5 video and audio elements should specify which video/audio
> coding formats are used, not which codecs can be used. 
That is actually the case. You understand "codecs" as software, while the
editors and people working on this understand it as "the algorithm".

> Video/audio coding
> formats are standardized exactly so that users can choose which codec among
> several supporting the format to use. For example, if a HTML5 video element
> specifies the video coding format "MPEG-4 Part 2", then the user could
> choose between the codecs DivX and Xvid, both of which can decode video in
> the MPEG-4 Part 2 format.
> 
> The current HTML5 specification has a "codecs=..." parameter for
> video/audio, but the meaning in the examples is obviously "format=..." . For
> example
> 
> > <source src='video.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
> 
> Where avc1.42E01E is obviously a format, not a specific codec
> implementation. I therefore propose that the "codecs" parameter be renamed
> to "formats". 
Unfortunately, that is not possible. The MP4 file format has been vastly
deployed for many years already and most software/hardware understand the
"codecs" parameter as needed.

Hope my explanation clarifies your confusion.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Sunday, 12 October 2014 16:56:36 UTC