SlideShare a Scribd company logo
HTML5 multimedia
Accessibility
Bruce Lawson
Anne van Kesteren annevk at opera.com
Wed Feb 28 05:47:56 PST 2007

Hi,
Opera has some internal expiremental builds with an implementation of a <video> element. The element
exposes a simple API (for the moment) much like the Audio() object:
  play()
  pause()
  Stop()

The idea is that it works like <object> except that it has special <video> semantics much like <img> has
image semantics. In markup you could prolly use it as follows:

 <figure>
  <video src=news-snippet.ogg>
   ...
  </video>
  <legend>HTML5 in BBC News</legend>
 </figure>

I attached a proposal for the element and as you can see there are still some open issues. The element and
its API are of course open for debate. We're not enforcing this upon the world ;-)

Cheers,
          http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-February/009702.html
<object width="425" height="344">
  <param name="movie"
value="http://www.example.com/v/9sEI1AUFJKw&hl=en
&fs=1&"></param>
  <param name="allowFullScreen"
value="true"></param>
  <param name="allowscriptaccess"
value="always"></param>
  <embed
src="http://www.example.com/v/9sEI1AUFJKw&hl=en&f
s=1&" type="application/x-shockwave-flash"
allowscriptaccess="always" allowfullscreen="true"
width="425" height="344"></embed>
</object>
<video src=pudding.webm
  controls
  autoplay
  poster=poster.jpg
  width=320 height=240>
    <a href=video.webm>Download movie</a>
</video>
<audio src=bieber.ogg
  controls
  autoplay>
     <a href=bieber.ogg>Download horrid pap</a>
</audio>
<video src=pudding.webm loop>
<audio   src=bieber.ogg   preload>
<audio   src=bieber.ogg   preload=auto>
<audio   src=bieber.ogg   preload=none>
<audio   src=bieber.ogg   preload=metadata>
video as native object...why is it important?

●
    keyboard accessibility built-in
●
    “play nice” with rest of the page
●
    Simple API for controls
HTML5 Multimedia Accessibility
"In addition to giving video an HTML
element, we must also agree on a baseline
video format that will be universally
supported, just like the GIF, JPEG and PNG
image format are universally supported. It's
important that the video format we choose
can be supported by a wide range of devices
and that it's royalty-free (RF). RF is a well-
established principle for W3C standards."
   http://people.opera.com/howcome/2007/video/
video formats

               webM            Ogg/ Theora    mp4/ h264

Opera            yes               yes

Chrome           yes               yes           Nope
                                             (Chrome.soon)
Firefox      Yes (FF4)             yes

Safari                                            yes

IE9       Yes (if installed)                      yes
audio formats

          mp3       Ogg/ Vobis   wav

Opera                  yes       yes

Chrome     yes         yes

Firefox                yes       yes

Safari     yes                   yes

IE9       yes                    yes
Giving everybody video

<video controls autoplay poster=… width=… height=…>
  <source src=pudding.mp4 type=video/mp4>
  <source src=pudding.webm type=video/webm>
  <source src=pudding.ogv type=video/ogg>
  <!-- fallback content -->
</video>
<video controls poster="…" width="…" height="…">
   <source src="movie.mp4" type="video/mp4" />
   <source src="movie.webm" type="video/webm" />
   <source src="movie.ogv" type="video/ogg" />

   <object width="…" height="…" type="application/x-
shockwave-flash" data="player.swf">
      <param name="movie" value="player.swf" />
      <param name="flashvars" value=" … file=movie.mp4" />
      <!-- fallback content -->
   </object>

</video>




       still include fallback for old browsers
            http://camendesign.com/code/video_for_everybody
powerful (simple) API
www.w3.org/TR/html5/video.html#media-elements
controlling <video> with JavaScript
var v = document.getElementByTagName('video')
[0];

v.play();
v.pause();
v.volume = … ;
v.currentTime = … ;
…
events fired by <video>
var v = document.getElementById('player');

v.addEventListener('loadeddata', function() { … }, true)
v.addEventListener('play', function() { … }, true)
v.addEventListener('pause', function() { … }, true)
v.addEventListener('timeupdate', function() { … }, true)
v.addEventListener('ended', function() { … }, true)
…
<video> accessibility
HTML5 Multimedia Accessibility
WebM release does not support subtitles




WHATWG / W3C RFC will release guidance on subtitles and other
overlays in HTML5 <video> in the near future. WebM intends to follow
that guidance.




 http://code.google.com/p/webm/issues/detail?id=11
 Egg image Kacper "Kangel" Aniołek http://commons.wikimedia.org/wiki/File:Egg.jpg
<track> element

<video controls poster=… width=… height=…>
    <source src=movie.webm type=video/webm>
    <track src=subtitles-en.vtt kind=subtitles srclang=en>
    <track src=subtitles-de.vtt kind=subtitles srclang=de>
    <!-- fallback content -->
</video>


http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-track-element
●   1 Adobe Encore              ●   18 MicroDVD (.sub*)                    ●   36 Subsonic

●   2 AQTitle (.aqt)            ●   19 MPEG-4 Timed Text (.ttxt)           ●   37 smilText

●   3 ARIB STD-B24              ●   20 MPL (.mpl)                          ●   38 SubStation Alpha (.ssa)

●   4 AYA (.aya)                ●   21 MPSub (.sub*)                       ●   39 SubViewer (.sub*)

●   5 CA (.ca)                  ●   22 Ogg Writ                            ●   40 TIT (.tit)

●   6 CHK (.chk)                ●   23 Phoenix Subtitle (.pjs)             ●   41 TitleVision TV2003 text format

●   7 CIN (.cin)                ●   24 PowerDivX (.psb)                    ●   42 TTML

●   8 CIP (.cip)                ●   25 PU2000 (.rac, .pac)                 ●   43 Turbotitler

●   9 DKS (.dks)                ●   26 RealText (.rt)                      ●   44 ULT (.ult)

●   10 DVD Studio Pro           ●   27 SAMI (.smi)                         ●   45 Universal Subtitle Format (.usf)

●   11 EBU STL (.ebu)           ●   28 Scantitling format 890 (.890)       ●   46 VPlayer

●   12 FAB Subtitler ★          ●   29 Screen Poliscript                   ●   47 WinCaps (.w32)

●   13 Gloss Subtitle (.gsub)   ●   30 Softel SwiftXIF (.xif)              ●   48 XombieSub

●   14 JACOSub (.jss)           ●   31 Sonic Solutions DVD text format     ●   49 ZeroG (.zeg)

●   15 Kate                     ●   32 Spruce STL                          ●   50 CVD

●   16 L32 (.l32)               ●   33 ST4, ST7 (.st4, .st7)               ●   51 DVB subtitles

●   17 MacSUB                   ●   34 Structured Subtitle Format (.ssf)   ●   52 Philips DVD subtitling format

                                ●   35 SubRip (.srt) ★                     ●   53 VobSub (.sub and .idx), XSUB (DivX subtitles)

                                                                           ●   55 CMML, SMIL,
webVTT

WEBVTT FILE

1
01:23:45,678 --> 01:23:46,789
Hello world!

2
01:23:48,910 --> 01:23:49,101
Hello
World!
WebVTT formatting

 Supports positioning of text
   Supports <b> and <i>
Colouring individual speakers
    Support vertical text
        Supports RTL
 Supports ruby annotations
<track> polyfill
http://www.delphiki.com/html5/playr/
HTML5 Multimedia Accessibility
Synchronising media elements
Each media element can have a MediaController. A MediaController is an object
that coordinates the playback of multiple media elements, for instance so that a
sign-language interpreter track can be overlaid on a video track, with the two
being kept in sync....
Media elements with a MediaController are said to be slaved to their controller. The
MediaController modifies the playback rate and the playback volume of each of the
media elements slaved to it, and ensures that when any of its slaved media
elements unexpectedly stall, the others are stopped at the same time.
When a media element is slaved to a MediaController, its playback rate is fixed to
that of the other tracks in the same MediaController, and any looping is disabled.
  http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#synchronising-
                                multiple-media-elements
             http://www.w3.org/WAI/PF/HTML/wiki/Media_Multitrack_Media_API
getUserMedia API
(previously known as "HTML5 <device>")
<video autoplay></video>
<script>
var video = document.querySelector(video);


If (navigator.getUserMedia)
{navigator.getUserMedia('video',successCallback,
errorCallback);


function successCallback(stream) {
      video.src = stream;
  }
...
</script>
my.opera.com/core/blog/2011/03/23/webcam-orientation-preview

More Related Content

PDF
HTML5 multimedia - where we are, where we're going
PDF
HTML5 Multimedia: where we are, where we're going
PDF
State of Media Accessibility in HTML5
PPT
Html5 vs Flash video
PDF
Html5 Open Video Tutorial
PDF
5 Things You Need to Know to Start Using Video and Audio Today
PDF
HTML5 multimedia - browser-native video and audio - JSDay / Verona / 17 May 2012
PDF
soft-shake.ch - Introduction to HTML5
HTML5 multimedia - where we are, where we're going
HTML5 Multimedia: where we are, where we're going
State of Media Accessibility in HTML5
Html5 vs Flash video
Html5 Open Video Tutorial
5 Things You Need to Know to Start Using Video and Audio Today
HTML5 multimedia - browser-native video and audio - JSDay / Verona / 17 May 2012
soft-shake.ch - Introduction to HTML5

What's hot (20)

PDF
OSDC 2008 talk: An open source "YouTube"
PDF
Performance Improvements in Browsers
PPTX
Php push notifications
PDF
11 tools for your PHP devops stack
PPTX
Virtual Bolt Workshop - 6 May
PPT
Vietnam Mobile Day 2013: How to build video streaming server in 15 mins
PPT
[Vietnam Mobile Day 2013] - How to build video streaming server in 15 minutes
PDF
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
PDF
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
PDF
Performance Improvements in Browsers
PDF
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
PDF
Building your own Desktop Cloud Environment
PDF
Nuts and Bolts of WebSocket Devoxx 2014
PPT
A web perf dashboard up & running in 90 minutes presentation
PDF
Nuxeo - Digital Asset Management
PDF
Web of Technologies
ODP
Building (localized) Vagrant boxes with Packer
PPTX
HTML5 WebSocket Introduction
PDF
Learning Puppet Chapter 1
PDF
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
OSDC 2008 talk: An open source "YouTube"
Performance Improvements in Browsers
Php push notifications
11 tools for your PHP devops stack
Virtual Bolt Workshop - 6 May
Vietnam Mobile Day 2013: How to build video streaming server in 15 mins
[Vietnam Mobile Day 2013] - How to build video streaming server in 15 minutes
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
Performance Improvements in Browsers
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
Building your own Desktop Cloud Environment
Nuts and Bolts of WebSocket Devoxx 2014
A web perf dashboard up & running in 90 minutes presentation
Nuxeo - Digital Asset Management
Web of Technologies
Building (localized) Vagrant boxes with Packer
HTML5 WebSocket Introduction
Learning Puppet Chapter 1
Gaelyk quickie - GR8Conf Europe 2010 - Guillaume Laforge
Ad

Viewers also liked (20)

PDF
Why Open Web Standards are cool and will save the world. Or the Web, at least.
PDF
W3C Widgets: Apps made with Web Standards
PDF
Bruce Lawson, Web Development 2.0, SparkUp! Poznan Poland
PDF
HTML5 and CSS 3
PDF
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
PPTX
Finding Accessible Apps for Reading
PDF
Bruce lawson-html5-aria-japan
PDF
Html5 oslo-code-camp
PDF
HTML5 Who what where when why how
PPT
Open Annotation Collaboration Briefing
PDF
Staying in the fast lane - tools to keep your site speedy and light
PDF
Webseiten für mobile Geräte - M-Days - Frankfurt 27.01.2011
PDF
HTML5 and XHTML2
PDF
W3C/Webkit test integration presentation
PDF
The Future of Books - Creating New Value from Reading
PDF
openMIC barcamp 11.02.2010
PDF
Making your site mobile-friendly / RIT++
PDF
Node.js, le pavé dans la mare
PDF
Standards Talk - Opera Uni Tour Indonesia
PDF
AngularJS Directives - DSL for your HTML
Why Open Web Standards are cool and will save the world. Or the Web, at least.
W3C Widgets: Apps made with Web Standards
Bruce Lawson, Web Development 2.0, SparkUp! Poznan Poland
HTML5 and CSS 3
Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript
Finding Accessible Apps for Reading
Bruce lawson-html5-aria-japan
Html5 oslo-code-camp
HTML5 Who what where when why how
Open Annotation Collaboration Briefing
Staying in the fast lane - tools to keep your site speedy and light
Webseiten für mobile Geräte - M-Days - Frankfurt 27.01.2011
HTML5 and XHTML2
W3C/Webkit test integration presentation
The Future of Books - Creating New Value from Reading
openMIC barcamp 11.02.2010
Making your site mobile-friendly / RIT++
Node.js, le pavé dans la mare
Standards Talk - Opera Uni Tour Indonesia
AngularJS Directives - DSL for your HTML
Ad

Similar to HTML5 Multimedia Accessibility (20)

ODP
video tools
PPT
Introduction to Transcoding: Tools and Processes
PDF
Intro to Compression: Audio and Video Optimization for Learning
PPT
Internet Archive Video Presentation
PDF
Preserving Audiovisual Materials (LIS 198-Digital Preservation)
PPTX
HTML5 Multimedia Streaming
PDF
FFMPEG TOOLS
PDF
Apan media encoding
PDF
Lunch and Learn - FFmpeg
PDF
Performance Analysis of Various Video Compression Techniques
PPT
Slide
PDF
Frame accurate video client in the browser
PPTX
Building a Video Encoding Pipeline at The New York Times
PPTX
Pavtube hd video converter tutorials
PDF
[amigos] HTML5 and CSS3
PDF
Building a Video Encoding Pipeline at The New York Times
PDF
Reaching the multimedia web from embedded platforms with WPEWebkit
PDF
Porting VLC on Android - DroidCon Paris 2014
PDF
Streaming Tech Sweden 2019 - Serverless Media Processing
ODP
Video Production Using Open Source Tools
video tools
Introduction to Transcoding: Tools and Processes
Intro to Compression: Audio and Video Optimization for Learning
Internet Archive Video Presentation
Preserving Audiovisual Materials (LIS 198-Digital Preservation)
HTML5 Multimedia Streaming
FFMPEG TOOLS
Apan media encoding
Lunch and Learn - FFmpeg
Performance Analysis of Various Video Compression Techniques
Slide
Frame accurate video client in the browser
Building a Video Encoding Pipeline at The New York Times
Pavtube hd video converter tutorials
[amigos] HTML5 and CSS3
Building a Video Encoding Pipeline at The New York Times
Reaching the multimedia web from embedded platforms with WPEWebkit
Porting VLC on Android - DroidCon Paris 2014
Streaming Tech Sweden 2019 - Serverless Media Processing
Video Production Using Open Source Tools

More from brucelawson (11)

PDF
Bruce Lawson: Progressive Web Apps: the future of Apps
PDF
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
PDF
HTML5 and Accessibility sitting in a tree
PDF
Leveraging HTML 5.0
PDF
Disruptive code
PDF
Bruce lawson Stockholm Geek Meet
PDF
Bruce lawson-over-the-air
ODP
Bruce Lawson HTML5 South By SouthWest presentation
ODP
Practical Tips for Mobile Widget development
PDF
Bruce Lawson Opera Indonesia
PDF
Standards.next: HTML - Are you mything the point?
Bruce Lawson: Progressive Web Apps: the future of Apps
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
HTML5 and Accessibility sitting in a tree
Leveraging HTML 5.0
Disruptive code
Bruce lawson Stockholm Geek Meet
Bruce lawson-over-the-air
Bruce Lawson HTML5 South By SouthWest presentation
Practical Tips for Mobile Widget development
Bruce Lawson Opera Indonesia
Standards.next: HTML - Are you mything the point?

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
sap open course for s4hana steps from ECC to s4
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Programs and apps: productivity, graphics, security and other tools
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
sap open course for s4hana steps from ECC to s4

HTML5 Multimedia Accessibility

  • 2. Anne van Kesteren annevk at opera.com Wed Feb 28 05:47:56 PST 2007 Hi, Opera has some internal expiremental builds with an implementation of a <video> element. The element exposes a simple API (for the moment) much like the Audio() object: play() pause() Stop() The idea is that it works like <object> except that it has special <video> semantics much like <img> has image semantics. In markup you could prolly use it as follows: <figure> <video src=news-snippet.ogg> ... </video> <legend>HTML5 in BBC News</legend> </figure> I attached a proposal for the element and as you can see there are still some open issues. The element and its API are of course open for debate. We're not enforcing this upon the world ;-) Cheers, http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-February/009702.html
  • 3. <object width="425" height="344"> <param name="movie" value="http://www.example.com/v/9sEI1AUFJKw&hl=en &fs=1&"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <embed src="http://www.example.com/v/9sEI1AUFJKw&hl=en&f s=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed> </object>
  • 4. <video src=pudding.webm controls autoplay poster=poster.jpg width=320 height=240> <a href=video.webm>Download movie</a> </video>
  • 5. <audio src=bieber.ogg controls autoplay> <a href=bieber.ogg>Download horrid pap</a> </audio>
  • 7. <audio src=bieber.ogg preload> <audio src=bieber.ogg preload=auto> <audio src=bieber.ogg preload=none> <audio src=bieber.ogg preload=metadata>
  • 8. video as native object...why is it important? ● keyboard accessibility built-in ● “play nice” with rest of the page ● Simple API for controls
  • 10. "In addition to giving video an HTML element, we must also agree on a baseline video format that will be universally supported, just like the GIF, JPEG and PNG image format are universally supported. It's important that the video format we choose can be supported by a wide range of devices and that it's royalty-free (RF). RF is a well- established principle for W3C standards." http://people.opera.com/howcome/2007/video/
  • 11. video formats webM Ogg/ Theora mp4/ h264 Opera yes yes Chrome yes yes Nope (Chrome.soon) Firefox Yes (FF4) yes Safari yes IE9 Yes (if installed) yes
  • 12. audio formats mp3 Ogg/ Vobis wav Opera yes yes Chrome yes yes Firefox yes yes Safari yes yes IE9 yes yes
  • 13. Giving everybody video <video controls autoplay poster=… width=… height=…> <source src=pudding.mp4 type=video/mp4> <source src=pudding.webm type=video/webm> <source src=pudding.ogv type=video/ogg> <!-- fallback content --> </video>
  • 14. <video controls poster="…" width="…" height="…"> <source src="movie.mp4" type="video/mp4" /> <source src="movie.webm" type="video/webm" /> <source src="movie.ogv" type="video/ogg" /> <object width="…" height="…" type="application/x- shockwave-flash" data="player.swf"> <param name="movie" value="player.swf" /> <param name="flashvars" value=" … file=movie.mp4" /> <!-- fallback content --> </object> </video> still include fallback for old browsers http://camendesign.com/code/video_for_everybody
  • 17. controlling <video> with JavaScript var v = document.getElementByTagName('video') [0]; v.play(); v.pause(); v.volume = … ; v.currentTime = … ; …
  • 18. events fired by <video> var v = document.getElementById('player'); v.addEventListener('loadeddata', function() { … }, true) v.addEventListener('play', function() { … }, true) v.addEventListener('pause', function() { … }, true) v.addEventListener('timeupdate', function() { … }, true) v.addEventListener('ended', function() { … }, true) …
  • 21. WebM release does not support subtitles WHATWG / W3C RFC will release guidance on subtitles and other overlays in HTML5 <video> in the near future. WebM intends to follow that guidance. http://code.google.com/p/webm/issues/detail?id=11 Egg image Kacper "Kangel" Aniołek http://commons.wikimedia.org/wiki/File:Egg.jpg
  • 22. <track> element <video controls poster=… width=… height=…> <source src=movie.webm type=video/webm> <track src=subtitles-en.vtt kind=subtitles srclang=en> <track src=subtitles-de.vtt kind=subtitles srclang=de> <!-- fallback content --> </video> http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-track-element
  • 23. 1 Adobe Encore ● 18 MicroDVD (.sub*) ● 36 Subsonic ● 2 AQTitle (.aqt) ● 19 MPEG-4 Timed Text (.ttxt) ● 37 smilText ● 3 ARIB STD-B24 ● 20 MPL (.mpl) ● 38 SubStation Alpha (.ssa) ● 4 AYA (.aya) ● 21 MPSub (.sub*) ● 39 SubViewer (.sub*) ● 5 CA (.ca) ● 22 Ogg Writ ● 40 TIT (.tit) ● 6 CHK (.chk) ● 23 Phoenix Subtitle (.pjs) ● 41 TitleVision TV2003 text format ● 7 CIN (.cin) ● 24 PowerDivX (.psb) ● 42 TTML ● 8 CIP (.cip) ● 25 PU2000 (.rac, .pac) ● 43 Turbotitler ● 9 DKS (.dks) ● 26 RealText (.rt) ● 44 ULT (.ult) ● 10 DVD Studio Pro ● 27 SAMI (.smi) ● 45 Universal Subtitle Format (.usf) ● 11 EBU STL (.ebu) ● 28 Scantitling format 890 (.890) ● 46 VPlayer ● 12 FAB Subtitler ★ ● 29 Screen Poliscript ● 47 WinCaps (.w32) ● 13 Gloss Subtitle (.gsub) ● 30 Softel SwiftXIF (.xif) ● 48 XombieSub ● 14 JACOSub (.jss) ● 31 Sonic Solutions DVD text format ● 49 ZeroG (.zeg) ● 15 Kate ● 32 Spruce STL ● 50 CVD ● 16 L32 (.l32) ● 33 ST4, ST7 (.st4, .st7) ● 51 DVB subtitles ● 17 MacSUB ● 34 Structured Subtitle Format (.ssf) ● 52 Philips DVD subtitling format ● 35 SubRip (.srt) ★ ● 53 VobSub (.sub and .idx), XSUB (DivX subtitles) ● 55 CMML, SMIL,
  • 24. webVTT WEBVTT FILE 1 01:23:45,678 --> 01:23:46,789 Hello world! 2 01:23:48,910 --> 01:23:49,101 Hello World!
  • 25. WebVTT formatting Supports positioning of text Supports <b> and <i> Colouring individual speakers Support vertical text Supports RTL Supports ruby annotations
  • 28. Synchronising media elements Each media element can have a MediaController. A MediaController is an object that coordinates the playback of multiple media elements, for instance so that a sign-language interpreter track can be overlaid on a video track, with the two being kept in sync.... Media elements with a MediaController are said to be slaved to their controller. The MediaController modifies the playback rate and the playback volume of each of the media elements slaved to it, and ensures that when any of its slaved media elements unexpectedly stall, the others are stopped at the same time. When a media element is slaved to a MediaController, its playback rate is fixed to that of the other tracks in the same MediaController, and any looping is disabled. http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#synchronising- multiple-media-elements http://www.w3.org/WAI/PF/HTML/wiki/Media_Multitrack_Media_API
  • 29. getUserMedia API (previously known as "HTML5 <device>")
  • 30. <video autoplay></video> <script> var video = document.querySelector(video); If (navigator.getUserMedia) {navigator.getUserMedia('video',successCallback, errorCallback); function successCallback(stream) { video.src = stream; } ... </script>