SlideShare a Scribd company logo
Responsive Videos,
mehr oder weniger
Frontend Usergroup RheinMain
Wiesbaden
17.06.2014
Walter Ebert
@wltrd
walterebert.de
slideshare.net/walterebert
<video src=movie.mp4>
Windows Phone
PS3
Android
iOS
Mac
http://caniuse.com/#feat=mpeg4
https://en.wikipedia.org/wiki/Vhshttps://en.wikipedia.org/wiki/Betamax
MP4-Support in Firefox
http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html
MP4-Support in Chrome
„Though H.264 plays an important role in video, as
our goal is to enable open innovation, support for the
codec will be removed and our resources directed
towards completely open codec technologies.“
Video for Everybody
<video width="640" height="360" controls>
<source src="video.mp4" type="video/mp4" />
<source src="video.webm" type="video/webm" />
<source src="video.ogv" type="video/ogg" />
<object width="640" height="360" type="application/x-shockwave-flash"
data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars"
value="controlbar=over&amp;image=video.jpg&amp;file=video.mp4" />
<img src="video.jpg" width="640" height="360" alt="Video Title"
title="No video playback capabilities, please download the video below" />
</object>
</video>
<p><strong>Download Video:</strong>
Closed Format: <a href="video.mp4">"MP4"</a>
Open Format: <a href="video.webm">"WebM"</a>
Open Format: <a href="video.ogv">"Ogg"</a>
</p>
http://camendesign.com/code/video_for_everybody
Formate
MP4
WebM
Ogg Theora
Formate
MP4
WebM
Ogg Theora
Codecs
H.264
VP8
Codecs
H.264
VP8
VP9
http://caniuse.com/#feat=webm
function hasMp4() {
try {
return !!document.createElement('video')
.canPlayType('video/mp4; codecs="avc1.42E01E"')
.replace(/^no$/, '');
} catch(e) {
return false;
}
}
function hasFlash() {
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(fo) hasFlash = true;
}catch(e){
var fm = navigator.mimeTypes["application/x-shockwave-flash"];
if( fm && fm.enabledPlugin ) hasFlash = true;
}
return hasFlash;
}
MP4 moov atom
ffmpeg -i input.mp4 -c:v copy -c:a copy -movflags faststart output.mp4
http://ffmpeg.org/
http://www.adobe.com/devnet/video/articles/mp4_movie_atom.html
http://demos.flowplayer.org/videotest/canplay.html
Wann ist ein Video abspielbar?
Wann ist ein Video abspielbar?
1. Format (MP4, WebM, ...)
2. Codec (H.264, VP8, ...)
3. Auflösung (HD, FullHD,UHD, …)
4. Bitrate (kbps)
5. Framerate (FPS)
HTML5 Video Preload
http://www.stevesouders.com/blog/2013/04/12/html5-video-preload/
<video src="video.mp4" preload="metadata" />
<video src="video.mp4" preload="auto" />
<video src="video.mp4" preload="none" />
<video src="video.mp4" autoplay />
Responsive
Responsive Videos, mehr oder weniger
Responsive Videos, mehr oder weniger
Fluid
<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
video,object {max-width:100%; height:auto;}
</style>
<video controls>
<source src="video.mp4">
<source src="video.webm">
<object type="application/x-shockwave-flash" data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars" value="file=video.mp4"/>
</object>
</video>
Responsive
<video controls>
<source src="small.mp4" media="(max-width:480px)">
<source src="small.webm" media="(max-width:480px)">
<source src="big.mp4">
<source src="big.webm">
</video>
http://walterebert.com/playground/html5/media-queries/
Responsive
<video controls>
<source src="small.mp4" media="(max-width:480px)">
<source src="small.webm" media="(max-width:480px)">
<source src="big.mp4">
<source src="big.webm">
</video>
Entfernt aus Google Chrom
e
Hilfsmittel Javascript
window.matchMedia('(min-width:481px)')
oder
window.innerWidth > 480
oder
document.documentElement.clientWidth > 480
http://caniuse.com/#feat=matchmedia
Adaptive
Apple HTTP Live Streaming (HLS)
<video src=movie.m3u8>
https://developer.apple.com/streaming/
http://walterebert.com/playground/video/hls/
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=400000,RESOLUTION=480x270
ts/480x270.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=600000,RESOLUTION=640x360
ts/640x360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1500000,RESOLUTION=1280x720
ts/1280x720.m3u8
http://walterebert.com/playground/video/hls/
http://www.spacetelescope.org/images/heic1315a/
Die Zukunft
MPEG-DASH
http://dashif.org/
https://github.com/Dash-Industry-Forum/dash.js
Media Source Extensions (MSE)
Encrypted Media Extensions (EME)
Web Cryptography API
http://www.w3.org/TR/media-source/
http://www.w3.org/TR/encrypted-media/
http://www.w3.org/TR/WebCryptoAPI/
https://twitter.com/badass_js/status/473517249714610176
http://techblog.netflix.com/2014/06/html5-video-in-safari-on-os-x-yosemite.html
MPEG-DASH schreibt kein Codec vor
MPEG-DASH schreibt kein Codec vor
aber aktuell setzen die meisten auf H.264
http://hevc.hhi.fraunhofer.de/
https://strukturag.github.io/libde265.js/
High Efficiency Video Coding (HEVC)
a.k.a. H.265
<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
.player {
height:0;overflow:hidden;padding-bottom:56.25%;position:relative;
}
.player iframe {
height:100%;left:0;position:absolute;top:0;width:100%;overflow:hidden;
}
</style>
<div class="player">
<iframe src="video.html" frameborder="0" allowfullscreen></iframe>
</div>
16:9
http://walterebert.com/playground/video/responsive/
Fluides iframe
<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
video,object
{position:absolute;width:100%;height:100%;left:0;top:0;}
</style>
<video controls>
<source src="small.mp4" media="(max-width:480px)">
<source src="small.webm" media="(max-width:480px)">
<source src="big.mp4">
<source src="big.webm">
<object type="application/x-shockwave-flash" data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars" value="file=big.mp4"/>
</object>
</video>
Responsive Seite
<!DOCTYPE html>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
video,object
{position:absolute;width:100%;height:100%;left:0;top:0;}
</style>
<video controls>
<source src="small.mp4" media="(max-width:480px)">
<source src="small.webm" media="(max-width:480px)">
<source src="big.mp4">
<source src="big.webm">
<object type="application/x-shockwave-flash" data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars" value="file=big.mp4"/>
</object>
</video>
Responsive Seite
Oder welcher Code auch immer aktuell passt
Fin
Walter Ebert
@wltrd
walterebert.de
slideshare.net/walterebert
walterebert.com/playground/video/

More Related Content

PDF
High Performance Images
Walter Ebert
 
PDF
Progressive web and the problem of JavaScript
Christian Heilmann
 
PDF
Responsive Design: Mehr als CSS
Walter Ebert
 
PPTX
Hybrid app
hyun soomyung
 
PDF
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
KEY
HTML5: Markup Evolved
Billy Hylton
 
PDF
[cssdevconf] Adaptive Images in RWD
Christopher Schmitt
 
PDF
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 
High Performance Images
Walter Ebert
 
Progressive web and the problem of JavaScript
Christian Heilmann
 
Responsive Design: Mehr als CSS
Walter Ebert
 
Hybrid app
hyun soomyung
 
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
HTML5: Markup Evolved
Billy Hylton
 
[cssdevconf] Adaptive Images in RWD
Christopher Schmitt
 
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 

What's hot (20)

PDF
Bilder usw...
Walter Ebert
 
PDF
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
 
PDF
Bilder einbinden ist kein Thema, oder?
Walter Ebert
 
PDF
[refreshaustin] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[parisweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[CSSDevConf] Adaptive Images in Responsive Web Design 2014
Christopher Schmitt
 
PDF
[rwdsummit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PPTX
How fast are we going now?
Steve Souders
 
PPTX
Design+Performance Velocity 2015
Steve Souders
 
PDF
[funka] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
implement lighthouse-ci with your web development workflow
WordPress
 
PDF
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
WordPress-Templates mit Twig erstellen - PHPUGFFM
Walter Ebert
 
PDF
Prebrowsing - Velocity NY 2013
Steve Souders
 
PDF
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PPTX
High Performance Mobile (SF/SV Web Perf)
Steve Souders
 
PPTX
Doing More with LESS for CSS
Todd Anglin
 
KEY
HTML5 Video Player - HTML5 Dev Conf 2012
steveheffernan
 
PDF
[HEWEBFL] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[wvbcn] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Bilder usw...
Walter Ebert
 
Mehr Performance für WordPress - WordCamp Köln
Walter Ebert
 
Bilder einbinden ist kein Thema, oder?
Walter Ebert
 
[refreshaustin] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[parisweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[CSSDevConf] Adaptive Images in Responsive Web Design 2014
Christopher Schmitt
 
[rwdsummit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
How fast are we going now?
Steve Souders
 
Design+Performance Velocity 2015
Steve Souders
 
[funka] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
implement lighthouse-ci with your web development workflow
WordPress
 
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
WordPress-Templates mit Twig erstellen - PHPUGFFM
Walter Ebert
 
Prebrowsing - Velocity NY 2013
Steve Souders
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
High Performance Mobile (SF/SV Web Perf)
Steve Souders
 
Doing More with LESS for CSS
Todd Anglin
 
HTML5 Video Player - HTML5 Dev Conf 2012
steveheffernan
 
[HEWEBFL] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[wvbcn] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Ad

Similar to Responsive Videos, mehr oder weniger (20)

PDF
HTML5 multimedia - browser-native video and audio - DevUp HTML5 / Barcelona /...
Patrick Lauke
 
PDF
Mobile Web Video
Sarah Allen
 
PDF
HTML5 multimedia - browser-native video and audio - JSDay / Verona / 17 May 2012
Patrick Lauke
 
PDF
audio, video and canvas in HTML5 - standards>next Manchester 29.09.2010
Patrick Lauke
 
KEY
Upgrade to HTML5 Video
steveheffernan
 
PDF
HTML5 multimedia - where we are, where we're going
brucelawson
 
KEY
HTML5 Video for WordPress
steveheffernan
 
PPTX
HTML5 Multimedia Support
Henry Osborne
 
PDF
HTML5 Multimedia: where we are, where we're going
brucelawson
 
KEY
Web Apps
Tim Wray
 
PPTX
The Rich Standard: Getting Familiar with HTML5
Todd Anglin
 
PDF
HTML5 multimedia - browser-native video, audio and canvas - meet.js Summit / ...
Patrick Lauke
 
KEY
Video.js - How to build and HTML5 Video Player
steveheffernan
 
PDF
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
Patrick Lauke
 
PPT
HTML5 Video Right Now
Carlos Araya
 
PDF
Multimedia on the web - HTML5 video and audio
Christian Heilmann
 
KEY
HTML5 Video Presentation
sith33
 
KEY
Looking into HTML5 + CSS3
Christopher Schmitt
 
PDF
Speak The Web: The HTML5 Experiments
guestd427df
 
PDF
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
Patrick Lauke
 
HTML5 multimedia - browser-native video and audio - DevUp HTML5 / Barcelona /...
Patrick Lauke
 
Mobile Web Video
Sarah Allen
 
HTML5 multimedia - browser-native video and audio - JSDay / Verona / 17 May 2012
Patrick Lauke
 
audio, video and canvas in HTML5 - standards>next Manchester 29.09.2010
Patrick Lauke
 
Upgrade to HTML5 Video
steveheffernan
 
HTML5 multimedia - where we are, where we're going
brucelawson
 
HTML5 Video for WordPress
steveheffernan
 
HTML5 Multimedia Support
Henry Osborne
 
HTML5 Multimedia: where we are, where we're going
brucelawson
 
Web Apps
Tim Wray
 
The Rich Standard: Getting Familiar with HTML5
Todd Anglin
 
HTML5 multimedia - browser-native video, audio and canvas - meet.js Summit / ...
Patrick Lauke
 
Video.js - How to build and HTML5 Video Player
steveheffernan
 
HTML5 APIs - native multimedia support and beyond - University of Leeds 05.05...
Patrick Lauke
 
HTML5 Video Right Now
Carlos Araya
 
Multimedia on the web - HTML5 video and audio
Christian Heilmann
 
HTML5 Video Presentation
sith33
 
Looking into HTML5 + CSS3
Christopher Schmitt
 
Speak The Web: The HTML5 Experiments
guestd427df
 
HTML5 and friends - JISC CETIS Conference 2010 Nottingham 15.11.2010
Patrick Lauke
 
Ad

More from Walter Ebert (20)

PDF
FrOSCon 2023: WordPress als ActivityPub-Instanz
Walter Ebert
 
PDF
Hero Video Performance - DrupalCamp Ruhr
Walter Ebert
 
PDF
Sicherheit für WordPress
Walter Ebert
 
PDF
WordPress aufräumen - WordCamp Stuttgart
Walter Ebert
 
PDF
WordPress aufräumen
Walter Ebert
 
PDF
Hero Video Performance
Walter Ebert
 
PDF
WordPress-Webseiten umziehen / online stellen
Walter Ebert
 
PDF
Using browser settings for performance
Walter Ebert
 
PDF
Das richtige WordPress-Theme finden
Walter Ebert
 
PDF
WordPress Health Check - WordCamp Würzburg
Walter Ebert
 
PDF
WordPress Health Check
Walter Ebert
 
PDF
Making WordPress fast(er)
Walter Ebert
 
PDF
Testumgebungen für WordPress
Walter Ebert
 
PDF
Modernism in Web Design
Walter Ebert
 
PDF
WordPress Multisite
Walter Ebert
 
PDF
Weniger aus Bilder holen
Walter Ebert
 
PDF
WordPress mit Composer und Git verwalten
Walter Ebert
 
PDF
HTTPS + Let's Encrypt
Walter Ebert
 
PDF
WordPress-Themes mit Twig entwickeln
Walter Ebert
 
PDF
Mehr Performance für WordPress - WPFra
Walter Ebert
 
FrOSCon 2023: WordPress als ActivityPub-Instanz
Walter Ebert
 
Hero Video Performance - DrupalCamp Ruhr
Walter Ebert
 
Sicherheit für WordPress
Walter Ebert
 
WordPress aufräumen - WordCamp Stuttgart
Walter Ebert
 
WordPress aufräumen
Walter Ebert
 
Hero Video Performance
Walter Ebert
 
WordPress-Webseiten umziehen / online stellen
Walter Ebert
 
Using browser settings for performance
Walter Ebert
 
Das richtige WordPress-Theme finden
Walter Ebert
 
WordPress Health Check - WordCamp Würzburg
Walter Ebert
 
WordPress Health Check
Walter Ebert
 
Making WordPress fast(er)
Walter Ebert
 
Testumgebungen für WordPress
Walter Ebert
 
Modernism in Web Design
Walter Ebert
 
WordPress Multisite
Walter Ebert
 
Weniger aus Bilder holen
Walter Ebert
 
WordPress mit Composer und Git verwalten
Walter Ebert
 
HTTPS + Let's Encrypt
Walter Ebert
 
WordPress-Themes mit Twig entwickeln
Walter Ebert
 
Mehr Performance für WordPress - WPFra
Walter Ebert
 

Recently uploaded (20)

PPT
Transformaciones de las funciones elementales.ppt
rirosel211
 
PDF
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
PPTX
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
PPTX
Slides Powerpoint: Eco Economic Epochs.pptx
Steven McGee
 
PPTX
AI ad its imp i military life read it ag
ShwetaBharti31
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PPTX
Blue and Dark Blue Modern Technology Presentation.pptx
ap177979
 
PPT
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
PPTX
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
PPTX
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
PPTX
The Latest Scam Shocking the USA in 2025.pptx
onlinescamreport4
 
PDF
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
PPTX
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
PDF
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
PDF
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
PDF
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
PPTX
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
PDF
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
PPTX
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
PPTX
How tech helps people in the modern era.
upadhyayaryan154
 
Transformaciones de las funciones elementales.ppt
rirosel211
 
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
Slides Powerpoint: Eco Economic Epochs.pptx
Steven McGee
 
AI ad its imp i military life read it ag
ShwetaBharti31
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
Blue and Dark Blue Modern Technology Presentation.pptx
ap177979
 
1965 INDO PAK WAR which Pak will never forget.ppt
sanjaychief112
 
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
The Latest Scam Shocking the USA in 2025.pptx
onlinescamreport4
 
LB# 820-1889_051-7370_C000.schematic.pdf
matheusalbuquerqueco3
 
The Internet of Things (IoT) refers to a vast network of interconnected devic...
chethana8182
 
Latest Scam Shocking the USA in 2025.pdf
onlinescamreport4
 
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
原版北不列颠哥伦比亚大学毕业证文凭UNBC成绩单2025年新版在线制作学位证书
e7nw4o4
 
DNSSEC Made Easy, presented at PHNOG 2025
APNIC
 
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
How tech helps people in the modern era.
upadhyayaryan154
 

Responsive Videos, mehr oder weniger