From XiphWiki
Revision as of 10:12, 10 August 2014 by Martin.leese (talk | contribs) (→‎iTheora: Exposed naked URL (so readers can see it))
Jump to navigation Jump to search

The HTML5 specification includes support for <video> and <audio>. This page outlines use of HTML5 syntax with Xiph.Org codecs, particularly Ogg Theora and Ogg Vorbis. It is also a place to collect ideas for

See also the Theora Cookbook for a guide to streaming and working with Ogg Theora.

Browser Support

Our list of TheoraSoftwarePlayers lists many general-purpose media players that support Ogg Theora.

These web browsers support HTML5 with Ogg video:

Mozilla Firefox

Firefox 3.5 includes "support for the HTML5 <video> and <audio> elements including native support for Ogg Theora encoded video and Vorbis encoded audio." See Using audio and video in Firefox at the Mozilla Developer Center for more info.


In A call for video on the web - Opera <video> release on Labs, Opera announce that they "have created an experimental build of our browser for Windows, Mac and Linux with ... support for the <video> element/Ogg Theora built in".

The article contains links to experimental builds of Opera 9.52, and provides some simple examples of HTML5 <video> markup.

Google Chrome

Unstable builds are available from the dev-channel. The first version supporting Ogg Theora was chrome

Apple Safari

Install XiphQT

Microsoft Internet Explorer

  • The default install of VLC includes the activeX extension that enables inline ogg theora playback.
  • You can also install the direct show filters for windows media player.



Web Video sites

For more examples of Ogg Theora video, see List of Theora videos.

The following web sites support HTML5 with Ogg Theora.

Community upload sites

These sites allow anyone to upload video, and provide transcoding to Ogg:

Archival and Reference

Sites that curate video for general archival and reference purposes, and allow anyone to upload relevant material:


  • metavid: The Open Video archive of the US Congress
  • Public Access Digital Media Archive is an online archive of densely text-annotated video material, primarily footage and not finished films.


Technology for setting up your own site

HTML5 <video> embedding

There are various ways to provide HTML5 video content with fallbacks for older browsers and non-free codecs.

You can include one of the scripts below, or modify source from an existing page such as the HTML of CELT presentations.


Mv_embed is "a javascript library for easy embedding of ogg theora/vorbis media with the html5 tag. Once the script is included you can include an inline ogg theora clip with:

 <video src="mymovie.ogg">

"Mv_embed will then rewrite the video tag to whatever playback method is available on the client be it native support, java cortado, mplayer or vlc".

See also mv_embed on MediaWiki.



Example sites using iTheora:


video4all at Google Code

Uses browser specific technology (.htc, .xbl, or plain .js) to rewrite video tags to fall back to H.264 in Flash for legacy browsers, while providing H.264 natively to Safari and Theora for Mozilla. Roughly speaking a script version of Kroc Camen's pure HTML Video For Everybody solution. Doesn't (currently) use any Theora based fallbacks.

Video for Everybody

Video for Everybody is "a chunk of HTML code that embeds a video into a website using the HTML5 <video> element."

  • Comment: We really shouldn't be plugging a solution which eschews cortado as a fall back in favor of FLV. A pure HTML triple check video/java/youtube would be better, but no pure HTML solution perform a canplaytype so it will break for safari users without xiphqt. Is "possible to add raw HTML but no JS" a common enough situation that a JS free solution is really needed? --Gmaxwell 22:58, 30 June 2009 (PDT)
  • Comment: It's clear that this solution makes a few compromises in order to be JS-free. The code is both fragile and frightening for reasons that make sense with regard to the original author's goals but aren't relevant if e.g. promoting Theora adoption takes precedence over a distaste for Java and/or Javascript. --Bod 06:03, 6 July 2009 (PDT)

HTML5 <audio> embedding

There are various ways to provide HTML5 audio content in Vorbis and there are Java and Flash fallbacks for older browsers (and non-free codecs though this is even less necessary than it is in the case of Theora video).

Vorbis via Flash 10

fogg (aka FVorbis), Jorbis code automatically ported to Haxe and then compiled to AS3

Alchemy Vorbis, Adobe's Alchemy allows compiling C and C++ plus to AS3. Vorbis is one of the demo libraries they ported.

flash.j-ogg, haxe and actionscript3 translation of j-ogg

Vorbis via Java



Vorbis via Javascript and <audio> tag

web radio interface

Encoding, transcoding


Firefogg provides "video encoding and uploading for Firefox". This includes a Firefox extension that allows users to encode video to Ogg Theora on their own computer while uploading it to your site. This simplifies the upload for users as they can simply choose from their existing video files, and simplifies your web site by allowing you to deal with only one video format, and offloading the CPU cycles required for encoding to the user.

Content management

Backend servers

  • oggz-chop allows you to serve time ranges of Ogg media over HTTP by any web server that supports CGI. Examples of such time range requests are which serves the segment of video.ogv from 200s-600s. This allows users to instantly jump to any point in a video, and you can put links in your web application to play arbitrary scenes.