Opera [Video HTML] element proposal

Interesting news from the Opera browser camp.  In the current web climate where video appears to be king and YouTube popularity seems to be growing by the minute this proposal could very well have a stout pair of legs on it.

Opera has published a proposal (that is implemented in an internal build) for a <video> HTML element.

This has been talked about for quite awhile, and they got around to doing it.




  1. <script>

  2.   function play(video) { document.getElementById(video).play() }

  3.   function pause(video) { document.getElementById(video).pause() }

  4.   function stop(video) { document.getElementById(video).stop() }

  5. </script>

  6. <video src=news.ogg id=news> … description of the news … </video>

  7. <button onclick=play(‘news’)>Play the news!</button>

  8. <button onclick=pause(‘news’)>Pause the news!</button>

  9. <button onclick=stop(‘news’)>Reset</button>

The src=”” attribute, if present, specifies the address of the video. If
present, the attribute must be a URI (or IRI).

When the src=”” attribute is set, the user agent must immediately begin to
download the specified resource, unless the user agent cannot support videos,
or its support for videos has been disabled. As soon as enough data is
received the user agent should start decoding the video. This means that
play() and other methods can already be used before the resource is downloaded

When downloading a video resource HTTP pipelining must not be used.

If the download fails, the resource is not a supported video format or the
resource can’t be decoded due to an error the user agent must fire an error
event on the <video> element and if it was still downloading it must abort
that process.

Any opinions on the issues?

  • Should we very much like the element just ignore 404 errors and
    the Content-Type header?
  • We could dispatch a load event once the complete video is downloaded,
    but it probably makes more sense to have some kind of streaming here. Perhaps
    the process event stuff from Web API is even enough if a Content-Length header
    is provided.
  • Maybe have a loop([times]) member like Audio() has?
  • height / width

Ready to get rid of generic ugly object/embed tags?

Source: Opera element proposal


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: