Beruflich Dokumente
Kultur Dokumente
Carlos Cardona
HTML5 WG Member
WHATWG Contributor
School of Govsky Alumni
cardonadesigns.com
cgcardona@gmail.com
Video Containers
What you might consider an "AVI file" or "MP4
file" is actually a container format
What you might consider an "AVI file" or "MP4
file" is actually a container format
Similar to a zip file which contains any type of file
What you might consider an "AVI file" or "MP4
file" is actually a container format
Similar to a zip file which contains any type of file
Define how to store things in them, not what
kinds of data are stored
A Video file contains multiple tracks:
A Video file contains multiple tracks:
A video track (without audio)
A Video file contains multiple tracks:
A video track (without audio)
One or more audio tracks (without video)
A Video file contains multiple tracks:
A video track (without audio)
One or more audio tracks (without video)
Opera 10.5+
Ogg Container
Theora Video
Vorbis Audio
Chrome 3.0+
Ogg Container
Theora Video
Vorbis Audio
Chrome 3.0+
Ogg Container
Theora Video
Vorbis Audio
Chrome 3.0+
MP4 Container
H.264 Video
AAC Audio
Safari 3.0+
MP4 Container
H.264 Video
AAC Audio
Safari 3.0+
MP4 Container
H.264 Video
AAC Audio
IE9
MP4 Container
H.264 Video
AAC Audio
Licensing H.264 Video
MPEG LA Consortium
MPEG LA Consortium
Two Licences
Manufactures or de/encoders
Distributors of content
MPEG LA Consortium
Two Licences
Manufactures or de/encoders
Distributors of content
Subscription
Title by title purchase
MPEG LA Consortium
Two Licences
Manufactures or de/encoders
Distributors of content
Subscription
Title by title purchase
Television
Internet
Licensing fee for television
Two options
$2500 per transmission
Licensing fee for television
Two options
$2500 per transmission
Annual Broadcast fee
$2500 per year for 100,000499,999
$5000 per year for 500,000999,999
$10000 per year for 1,000,000+
Participation fees are defined as
Participation fees are defined as
Ogg container
Theora video
Vorbis Audio
Firefogg
MP4 container
H.264 video
AAC Audio
Handbrake
media.play()
media.pause()
media.paused
media.ended
media.defaultPlaybackRate=[value]
media.playbackRate = [value]
media.played
<video src="video.mp4" width="500px" height=
500px" controls></video>
Two additional attributes
preload
autoplay
<video src="video.mp4" width="500px" height=
500px" controls preload autoplay></video>
Making it work in all
(modern) browsers
<video width="500px" height="500px" controls
preload autoplay>
<source src="movie.mp4" type='video/mp4;
codecs="avc1.42E01E, mp4a.40.2"'>
<source src="movie.ogv" type='video/ogg;
codecs="theora, vorbis"'>
</video>
Return of the Mime Type
VIDEO FILES MUST BE SERVED WITH THE
CORRECT MIME TYPE!
MP4 container
H.264 Video Codec
AAC Audio Codec
IE8 does support:
Flash
<video src="movie.ogv" width="500px" height="
500px" controls preload autoplay>
<object>
</object>
</video>
A complete example
<video width="500px" height="500px" controls preload autoplay
<source src="movie.mp4" type='video/mp4; codecs="avc1.
42E01E, mp4a.40.2"'>
<source src="movie.ogv" type='video/ogg; codecs="theora,
vorbis"'>
<object width="" height="" type="application/x-shockwave-
flash" data="flowplayer-3.2.1.swf">
<param name="movie" value="flowplayer-3.2.1.swf" />
<param name="allowfullscreen" value="true" />
</object
</video>
Why?!
Why?!
Mobile
Devices
The World Today
The World Tomorrow
diveintohtml5.org
Carlos Cardona
HTML5 WG Member
WHATWG Contributor
School of Govsky Alumni
cardonadesigns.com
cgcardona@gmail.com