Created by
David LaPalomento :: Lead Player Engineer at Brightcove
Steve Heffernan :: Co-founder of Zencoder & Creator of Video.js
The goal of video performance is to provide quality video while removing waiting from the video viewing experience
Waiting... |
Waiting... |
...
</body>
</html>
var _vidqCopy = _vidq || [];
_vidq = {
push: function(placeholder_id){
// Player Initialization
};
}
_vidqCopy.forEach(_vidq.push);
Your viewers will thank you for lying to them.
Run your own trials: github.com/brightcove/perception
PRELOAD: Use when you expect the user to watch the video on the page and you want it to load quickly.
AUTOPLAY: Use when the page is dedicated the video and you know the user will watch it.
With the load()
method on the video element, you can trigger video loading sooner than the browser would normally.
Know your audience.
$$\frac{bitrate}{bandwidth} < 1 \implies spinner $$
window.performance
swap renditions during playback based on measured bandwidth
HLS is supported on iOS devices and newer Androids. HDS is supported in Flash.
Format | Count |
---|---|
flv | 7508 |
mp4 | 3912 |
f4v | 286 |
m4v | 124 |
m3u8 | 101 |
avi | 89 |
mov | 70 |
ogg | 36 |
wmv | 13 |
webm | 8 |
ogv | 2 |
Format | Count |
---|---|
m3u8 | 13 |
mp4 | 10 |
webm | 1 |
David LaPalomento (@dlapalomento)
Steve Heffernan (@heff)
This presentation is available at: http://heff.github.com/buffering