HTML and CSS Reference
Content Delivery Networks
If you're looking to host your assets instead of having a third party do so, most of these cloud services will
automatically transfer the transcoded video files onto your hosting server and allow for caching to a content delivery
stored on multiple server locations on a shared network. Caching these assets on multiple servers is known as edge
caching . Essentially, you are placing the asset on the very edge of the network so the user requesting it does not have
to make an HTTP request to a location too far from them. I like the definition given by Wikipedia for CDNs:
A CDN is a system of computers containing copies of data, placed at various points in a network
so as to maximize bandwidth for access to the data from clients throughout the network. A client
accesses a copy of the data near to the client, as opposed to all clients accessing the same central
server, so as to avoid bottleneck near that server.
You can see the visual of this process in Figure 7-11 .
Figure 7-11. The process of a single server and multiple servers on a network (CDN)
Figure 7-11 demonstrates on the left how one server contains the data, whereas the image on the right (CDN)
has multiple copies of the data to support multiple users requesting the content. In fact, if you're building any large
enterprise video network like a YouTube, Netflix, or Vimeo, a CDN will be a requirement for your users, because it will
speed up the response times of video playback to your users' machines.
HTML5 Video Developments
HTML5 video is still a relatively new feature for many browsers, and there are certain things that technologies have
done for a long time really well, such as Flash, that the browsers will need to take time to implement into the spec and
gain adoption among users. It's obvious that it's a fragmented space when it comes to video codecs and delivery, but
it's even more so for full-screen support and subtitles.