133 lines
7.6 KiB
HTML
133 lines
7.6 KiB
HTML
<!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>
|
|
|