Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Responsive Media in HTML5
Responsive Media in HTML5

Responsive Media in HTML5: Learn effective administration of responsive media within your website or CMS system using practical techniques

Arrow left icon
Profile Icon Alex Libby
Arrow right icon
€18.99 per month
Paperback Dec 2014 128 pages 1st Edition
eBook
€10.99 €16.99
Paperback
€20.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Alex Libby
Arrow right icon
€18.99 per month
Paperback Dec 2014 128 pages 1st Edition
eBook
€10.99 €16.99
Paperback
€20.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€10.99 €16.99
Paperback
€20.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Responsive Media in HTML5

Chapter 2. Adding Responsive Video Content

Throughout the history of the Internet, since its early days, designers and developers have been able to add images to websites—these are great to illustrate points or concepts, but are a static record at a point in time. More and more developers are turning to the power of video to help illustrate something: the themes are varied, from news right through to cooking, or even a step-by-step coding tutorial! With the advent of mobile media comes an increasing need for responsive content—we need to ensure our content can be viewed without issue on more and more devices.

In this chapter, we'll go on a journey through some of the concepts required to make our content responsive, as well as cover some of the tips and tricks to make our content available on multiple platforms. In this chapter, we will cover the following topics:

  • Determining support for the <video> formats and choosing the right format
  • Embedding HTML5 video...

Getting ready

For the purpose of our exercises in this chapter, we'll be using similar markup throughout; it is worth saving the following code as a template file to help you complete each exercise:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>XXXXXXXXXX</title>
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
  <link href="css/XXXXXXXX.css" rel="stylesheet">
</head>
<body>
</body>
</html>

Now that we have our groundwork prepared, let's begin our journey into working with responsive video, with a look first at the formats available for use.

We will also be using various videos from the Big Buck Bunny Project by the Blender Foundation, namely the 852 x 480 and 1280 x 720 formats; you can download these from http://www.bigbuckbunny.org/index.php/download/.

Note

The videos used throughout this project...

Determining support for <video> formats

The first step on our journey in creating responsive video content is to determine which video format we're going to use. There are several video formats available for use in the browser, but the two worth noting are WebM and MP4. The former is still supported within Firefox, Chrome, and Opera only; the latter is supported by all of the main desktop browsers, except IE8 and Opera. For the purposes of creating responsive content, we still need to work with both though, as the mobile platform has yet to decide on a common standard:

Browser

Firefox

Chrome

Safari

IE (9+)

Opera

iOS

Android

Format supported

MP4

MP4

MP4

MP4

WebM

MP4, WebM

MP4, WebM

This table can also be referred to at http://www.jwplayer.com/html5/ (in the article "The State of HTML5 Video", by Jeroen Wijering).

As the HTML5 video standard is still in something of a state of flux, it is worth checking the CanIUse.com site, to keep abreast of progress...

Choosing the right format

So far, we've learnt that to work with the HTML5 <video> tags, we need to use either the WebM or MP4 formats (or ideally both, to ensure coverage). It's possible that you may have existing content that isn't in this format; if this is the case, let's look at how we can get it converted.

There are dozens of applications available for download, to convert from one format to another—my personal favorite is XMedia Recode for Windows, which is available at http://www.xmedia-recode.de. This allows conversion to and from a host of different formats, including both WebM and MP4. Let's take a look at how it works using the following steps:

  1. We'll start by downloading a copy of XMedia Recode from http://www.xmedia-recode.de/en/download.html; the latest version is 3.1.9.4 at the time of this writing.
  2. Double-click on the setup executable to launch installation and accept all defaults throughout the wizard.

    At this point, XMedia Recode...

Embedding HTML5 video content

As with all projects, we need to start somewhere—we could simply double-click on a video and let it play in any application we have installed, that supports the format. However, this isn't what we're here to do; we want to view the content in a browser and set it to resize automatically!

The following steps will show you how to achieve this using videos I've converted from the open source Big Bunny Project at http://www.bigbuckbunny.org:

  1. Let's start by opening a copy of the template file we created earlier in the book, then alter the <title> tag of our demo, as shown in the following code snippet:
    <title>Demo: Controlling Video sizes using media queries</title>
  2. In the <body> tag of our code, go ahead and add the following lines; these reference the different video formats we can use, depending on which browser we're working with:
      <video controls>
        <source src="video/bigbuckbunny.mp4&quot...

Determining an available viewport for use

If you have spent any time developing content for responsive layouts, you will have no doubt come across media queries. The same applied to videos; you could typically see something akin to the following (simplified) example:

<video controls>
  <source src="the-sky-is-calling-large.mp4" media="screen and (min-width:800px)">
  <source src="the-sky-is-calling-small.mp4" media="screen and (max-width:799px)">
</video>

Unfortunately, most browsers have since removed support for media queries. This is largely due to the poor user experience we get if the video is suddenly interrupted when resizing the screen. Fortunately, we can produce similar effects, although we need to resort to JavaScript or jQuery to achieve this. In this next example, we're going to show a small video if the screen is resized to a small window, or hide it when displayed in full screen. Let's take a look at...

Getting ready


For the purpose of our exercises in this chapter, we'll be using similar markup throughout; it is worth saving the following code as a template file to help you complete each exercise:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>XXXXXXXXXX</title>
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
  <link href="css/XXXXXXXX.css" rel="stylesheet">
</head>
<body>
</body>
</html>

Now that we have our groundwork prepared, let's begin our journey into working with responsive video, with a look first at the formats available for use.

We will also be using various videos from the Big Buck Bunny Project by the Blender Foundation, namely the 852 x 480 and 1280 x 720 formats; you can download these from http://www.bigbuckbunny.org/index.php/download/.

Note

The videos used throughout this project are copyright © 2008, Blender Foundation, available at www.bigbuckbunny...

Determining support for <video> formats


The first step on our journey in creating responsive video content is to determine which video format we're going to use. There are several video formats available for use in the browser, but the two worth noting are WebM and MP4. The former is still supported within Firefox, Chrome, and Opera only; the latter is supported by all of the main desktop browsers, except IE8 and Opera. For the purposes of creating responsive content, we still need to work with both though, as the mobile platform has yet to decide on a common standard:

Browser

Firefox

Chrome

Safari

IE (9+)

Opera

iOS

Android

Format supported

MP4

MP4

MP4

MP4

WebM

MP4, WebM

MP4, WebM

This table can also be referred to at http://www.jwplayer.com/html5/ (in the article "The State of HTML5 Video", by Jeroen Wijering).

As the HTML5 video standard is still in something of a state of flux, it is worth checking the CanIUse.com site, to keep abreast of progress at http://caniuse...

Choosing the right format


So far, we've learnt that to work with the HTML5 <video> tags, we need to use either the WebM or MP4 formats (or ideally both, to ensure coverage). It's possible that you may have existing content that isn't in this format; if this is the case, let's look at how we can get it converted.

There are dozens of applications available for download, to convert from one format to another—my personal favorite is XMedia Recode for Windows, which is available at http://www.xmedia-recode.de. This allows conversion to and from a host of different formats, including both WebM and MP4. Let's take a look at how it works using the following steps:

  1. We'll start by downloading a copy of XMedia Recode from http://www.xmedia-recode.de/en/download.html; the latest version is 3.1.9.4 at the time of this writing.

  2. Double-click on the setup executable to launch installation and accept all defaults throughout the wizard.

    At this point, XMedia Recode will be installed; we now need to run...

Embedding HTML5 video content


As with all projects, we need to start somewhere—we could simply double-click on a video and let it play in any application we have installed, that supports the format. However, this isn't what we're here to do; we want to view the content in a browser and set it to resize automatically!

The following steps will show you how to achieve this using videos I've converted from the open source Big Bunny Project at http://www.bigbuckbunny.org:

  1. Let's start by opening a copy of the template file we created earlier in the book, then alter the <title> tag of our demo, as shown in the following code snippet:

    <title>Demo: Controlling Video sizes using media queries</title>
  2. In the <body> tag of our code, go ahead and add the following lines; these reference the different video formats we can use, depending on which browser we're working with:

      <video controls>
        <source src="video/bigbuckbunny.mp4" type="video/mp4">
        <source src="video...

Determining an available viewport for use


If you have spent any time developing content for responsive layouts, you will have no doubt come across media queries. The same applied to videos; you could typically see something akin to the following (simplified) example:

<video controls>
  <source src="the-sky-is-calling-large.mp4" media="screen and (min-width:800px)">
  <source src="the-sky-is-calling-small.mp4" media="screen and (max-width:799px)">
</video>

Unfortunately, most browsers have since removed support for media queries. This is largely due to the poor user experience we get if the video is suddenly interrupted when resizing the screen. Fortunately, we can produce similar effects, although we need to resort to JavaScript or jQuery to achieve this. In this next example, we're going to show a small video if the screen is resized to a small window, or hide it when displayed in full screen. Let's take a look at how we can achieve this:

  1. We'll begin with extracting...

Catering to fallback support


So far, we've produced HTML5-formatted video content and seen how to embed it in our pages. There may be occasions, though, when we are working on a device that doesn't support a certain type of video format.

While support for HTML5 video is improving all the time, we're still at a stage where not every platform supports the same formats. This leaves us with two choices. We can either try to incorporate a different format, or we can simply set the content to degrade gracefully. We've looked at providing different formats, so let's switch track and see how we can gracefully degrade our content using Modernizr as the basis for our test. The following steps will guide us through the process of content degrading:

  1. Let's begin by adding the following code to a new file and save it as modernizr.html:

    <!DOCTYPE html>
    <html class="no-js">
    <head>
      <meta charset="utf-8"/>
      <title> Demo: Detecting support with Modernizr</title>
      <meta...
Left arrow icon Right arrow icon

Description

If you are a web designer with a good understanding of CSS, jQuery, and HTML, but new to creating responsive sites, then this book is for you. The prerequisite is a good understanding of CSS and HTML; the demos will suit those who have some prior knowledge of Less CSS, WordPress, or Bootstrap.

What you will learn

  • Add responsive images and video content to your site
  • Understand some of the pitfalls of mixing responsive images and videos, and how to alter your development to ensure both cooperate together
  • Incorporate responsive media in popular frameworks such as WordPress, Less CSS, and Bootstrap
  • Test responsive sites to ensure content displays correctly on different iOS and Android devices
  • Discover how to make allowances for mobile devices, and use tools to improve speed of access
  • Utilize tools such as YSlow and other online tools to determine speed of the sites
  • Employ preloaders to counter delays in loading

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 26, 2014
Length: 128 pages
Edition : 1st
Language : English
ISBN-13 : 9781849696968
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Dec 26, 2014
Length: 128 pages
Edition : 1st
Language : English
ISBN-13 : 9781849696968
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 82.97
Responsive Media in HTML5
€20.99
Responsive Web Design by Example : Beginner's Guide - Second Edition
€36.99
Responsive Design High Performance
€24.99
Total 82.97 Stars icon

Table of Contents

6 Chapters
1. Working with Responsive Images Chevron down icon Chevron up icon
2. Adding Responsive Video Content Chevron down icon Chevron up icon
3. Mixing Content Chevron down icon Chevron up icon
4. Testing Responsive Media Chevron down icon Chevron up icon
5. Using Frameworks Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.