Timed_Media_Elements-Open_Issues.html 7.6 KB

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