123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
- <html>
- <head>
- <title> HTML Timed Media Elements and CSS Open Issues </title>
- <link href="./mediaelement.css" rel="stylesheet" type="text/css">
- <style type="text/css">
- h4 + .element { margin-top: -2.5em; padding-top: 2em; }
- h4 + p + .element { margin-top: -5em; padding-top: 4em; }
- .element { background: #EFE; color: #000; margin: 0 0 1em -1em; padding: 0 1em 0.25em 0.75em; border-left: solid #9F9 0.25em; -padding: 0; /* that last decl is for IE6. Try removing it, it's hilarious! */ }
- .proposal { border: blue solid; padding: 1em; }
- table.matrix, table.matrix td { border: none; text-align: right; }
- table.matrix { margin-left: 2em; }
- .history table { width: 100%; }
- .history, .history td, .history th { border: solid thin; font-size: x-small }
- td.hauthor, td.hdate { width: 10%; }
- td.hversion { width: 5%; text-align: center; }
- td.hchange { width: 100%; }
-
- /* needed to override wiki CSS */
- a, a:link { text-decoration: underline;}
- th { color: #000; }
- </style>
- </head>
- <body class="draft">
- <div class="head">
- <h1> Timed Media Elements - Open Issues </h1> <h2 class="no-num no-toc" id="working"> 19 March 2007 </h2>
- <p class="copyright">© Copyright 2007 Apple Inc. All rights reserved.</p>
- </div>
- <h2 class=no-num id=issues>HTML Open Issues</h2>
- <ul>
- <li>Should there be advisory markup attributes in order to describe
- content even more precisely, e.g. dataRate?
- It would be an optional attribute that, if present, would specify the minimum network connection
- speed (in bits per second) required to use the media resource. The mechanism used to measure
- bandwidth could determined by the user agent; so some implementations might wish to use a static setting
- controlled by the user, and some might wish to use the average network throughput to the server hosting the media
- resource. It would only be used for static fallback.
- <li class=no-num>Retrieving a HTMLImageElement for the frame at a specific time from a
- video would be very useful. Would this be API, e.g.
-
- <pre>HTMLImageElement getFrameImage(DOMString time)?</pre>
- or a special URI scheme?
- <li class=no-num>It may be desirable to sync multiple video and audio elements, and have
- them keep time with each other.
- <li class=no-num>Wherever times appear in APIs or CSS properties, it may be convenient to get and set
- times in other time formats. Formats that may be of particular interest include:
- <ul>
- <li>SMIL <a href="http://www.w3.org/TR/2005/REC-SMIL2-20050107/smil-timing.html#Timing-ClockValueSyntax"><clock-value></a>
- <li>"HH:MM:SS.fraction" with hours and the fractional seconds optional
- <li>frame count index relative to start chapter name and/or index
- </ul>
- <li class=no-num>In CSS, time formats could have their own function syntax (such as
- clock("HH:MM:SS.fraction"), etc. In APIs, it would be possible to just accept strings, but
- that doesn't let you get times in your format of choice. A possible solution is a MediaTime
- interface which can convert to or from various time formats, and which is passed to and
- returned from API methods that deal in times.
- <li class=no-num>What does playbackRate do for audio? Should it be pitch-preserving? Should it
- skip sections if you are going fast enough?
- <li class=no-num>A movie is just a description of the multimedia presentation, the actual media sample
- data is in tracks (or streams). Each track represents a sequence of renderable elements of a
- uniform type, e.g. audio, video, text, etc. We should expose track information via the API
- so developers can determine exactly what a media file contains and so they can enable and
- disable individual tracks to control which take part in the presentation. Tracks contain
- both metadata (eg. sample rate, sample size, bit depth, etc) and annotations (see notes on
- media annotations below). We haven't designed an API for this yet. Perhaps track info and
- metadata should be specified separately.
- <li class=no-num>API to provide access to embedded metadata. In addition to metadata about media
- characteristic (frame rate, data size, bit rate, etc), we should provide access to
- annotation metadata. Annotations in MPEG-4 files can be in several different formats (eg.
- 3GPP, iTunes, QuickTime, ID3v2, etc), need not have unique names, and can be tagged with
- language, so an API must allow all of them to be specified. Another form of interesting
- metadata is chapter names and time ranges.
- <li class=no-num>Should there be policies expressed on how to deal with graceful degradation if an
- implementation is unable to support some aspect of a feature (e.g., negative playback
- rates)? This might be a characteristic of the implementation as a whole or the
- characteristic only when dealing with a particular media format (e.g., negative playback on
- a RTP stream doesn't work even though for a .mov it could). Or should this (in)ability be
- discoverable? Some clients that implement video decoding in hardware may not be able to
- scale for instance.
- <li class=no-num>How can a client discover the capabilities of the user agent (e.g., what codecs and
- profiles/levels are supported)?
- <li class=no-num>It might be useful in the API to get the current frame index, or go to a specific frame
- (see time format discussion).
- </ul>
- <h2 id="open-issues"><span class="secno"></span>CSS Open Issues</h2>
- <ul>
- <li><a href="http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-time">
- <time></a> values only have second and millisecond unit identifiers. This will
- make it inconvenient to represent time values in long duration media files because all
- times must be converted to seconds. It may make more sense to use a time value
- with a syntax like the SMIL
- <a href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-ClockValueSyntax">
- <clock-value></a> type, which allows units of hours, minutes, seconds, and milliseconds,
- so longer times can be expressed without conversion.</p>
- <li>It would be useful to extend CSS <a href="http://www.w3.org/TR/css3-mediaqueries/">Media
- Queries</a> with a new media query feature to make
- rules that are matched based on bandwidth. This will allow a content author to build
- pages that select different CSS files based on the user's bandwidth as well as existing
- media query features like screen size.
-
- </ul>
- </body>
- </html>
|