Cloudinary Blog

Simplifying the delivery of video content

As video use and requirements grow - so do the challenges
Video is an increasingly important component for websites and apps, as consumer demand for and consumption of video content is growing. It’s not only for wired devices, though. More and more, consumers are accessing video where they want it, when they want it, on whatever device that happens to be nearby.
 
While this may be convenient for consumers, the varying screen sizes, resolutions and bandwidth limitations result in some significant challenges for developers, who want to ensure an optimal experience for their viewers. As a result, developers will need to rethink their approach to video transcoding, so it can work on a variety of screens, while ensuring an optimal user experience, reducing costs and minimizing bandwidth demands. 

The challenge is real

Case in point: by 2019, consumer Internet video traffic will account for 80 percent of all consumer Internet traffic, according to Cisco’s Visual Networking Index. And, increasingly, consumers are using their mobile devices to view videos. In the IAB Mobile Video Consumption survey, 35 percent of viewers said they are watching more video on their smartphones compared to last year, with many of them noting that they’ll spend five minutes or more watching videos from their mobile device. Of those using smartphones for video, 68 percent indicated that they watch on iOS devices. The iPad accounts for even more video consumption, comprising 86 percent of tablet viewing, followed by the Samsung Galaxy Tablet, Kindle Fire and Microsoft Surface in the single digits.
 
Before the proliferation of devices from which consumers could access video content, it was relatively simple to pre-transcode video. That, however, is now impossible, so Web and app developers are moving toward live transcoding to ensure users have the right format of video for the device they’re using. 
 
But live transcoding is a time-consuming delicate process, and if it’s not done right, there will be a noticeable loss in quality. If you’re doing a lot of in-house transcoding, you’ll likely have to purchase expensive software that is complex to use, requiring you to manage and configure the settings yourself, which may not be part of the average developer’s expertise. You’ll also have to consider how to reduce the file size to ensure that it’s easier to distribute over mobile networks and less expensive for consumers who often don’t have unlimited bandwidth plans, and have both standard definition and high definition versions available so that streaming sessions can adapt to the bandwidth available. And then you’ll have to worry about storage. Having videos in a variety of formats to meet all users’ needs requires a lot of capacity and requires servers to be provisioned in advance, another task that is typically outside of the scope and expertise of most Web designers.
 
To address these challenges, developers are moving toward adaptive bitrate streaming and HTTP Live Streaming (HLS). While in the past most video streaming technologies utilized streaming protocols such as RTP with RTSP, today's adaptive streaming technologies are almost exclusively based on HTTP and designed to work efficiently over large distributed HTTP networks, such as the Internet. Adaptive bitrate streaming works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a video stream accordingly. It requires the use of an encoder that can encode a single source video at multiple bit rates, which results in very little buffering, a fast start time and a good user experience. HLS is an HTTP-based media streaming communications protocol implemented by Apple. It is similar to MPEG-DASH because it breaks the overall stream into a sequence of small HTTP-based file downloads, that combine in an unbounded transport stream. As the stream is played, alternate streams containing the same material encoded at a variety of data rates may be selected, allowing the streaming session to adapt to the available data rate.

Some pointers

When addressing these complex issues, there are a number of key features to keep in mind, allowing users to upload videos, transcode and modify them to ensure an optimal user experience and apply fine-grained control over codecs and bitrate.
 
  • Choosing the correct format – the most fitting format (MP4, OGV, FLV, WebM) must be accurately specified for optimal viewing in various resolutions and aspect ratios and delivery over any type of browser, laptop or mobile device.
  • Responsive Design – your video content must be optimized for delivering on different screen sizes or fitting into a graphic design by dynamically resizing and cropping video on the fly. Also, by resizing and cropping on the fly, you can ensure that the video is not stretched or shrunk when adapting to different devices.
  • Video Setting Adjustments – adjust properties of video files, such as quality, bitrate, video and codecs, on the fly to ensure optimal viewing for all of your users. Adjusting the quality of videos can achieve significant bandwidth savings. There are a number of Web codecs, including HEVC/H.265, H.264, MPEG-4, Theora, VP9, VP8, VP6 and WMV.

Cloudinary can of course assist in doing these easily and on-the-fly, alongside many other features, such as creating thumbnails from videos and applying various transformations and manipulations on the video and audio controls to enhance your visitors’ viewing experiences.

You can read more about Cloudinary's video management solution here, and specifically about transcoding, quality & bit rate control, video codec settings and more here.  

 

Video has become an integral part of virtually every website and app, and will grow in importance as consumers seek out more video content. If you’re still pre-transcoding video or working with an in-house transcoding system, now is the time to rethink your approach of how you upload, transform manage and store videos so you can deliver an optimal experience to all of your users.

Recent Blog Posts

Build the Back-End For Your Own Instagram-style App with Cloudinary

Github Repo

Managing media files (processing, storage and manipulation) is one of the biggest challenges we encounter as practical developers. These challenges include:

A great service called Cloudinary can help us overcome many of these challenges. Together with Cloudinary, let's work on solutions to these challenges and hopefully have a simpler mental model towards media management.

Read more

Build A Miniflix in 10 Minutes

By Prosper Otemuyiwa
Build A Miniflix in 10 Minutes

Developers are constantly faced with challenges of building complex products every single day. And there are constraints on the time needed to build out the features of these products.

Engineering and Product managers want to beat deadlines for projects daily. CEOs want to roll out new products as fast as possible. Entrepreneurs need their MVPs like yesterday. With this in mind, what should developers do?

Read more

Your Web Image is Unnecessarily Bloated

By Christian Nwamba
Your Web Image is Unnecessarily Bloated

As a developer, it seems inefficient to serve a 2000kb JPEG image when we could compress images to optimize the performance without degrading the visual quality.

We are not new to this kind of responsibility. But our productivity will end up being questioned if we do not deliver fast. In order to do so, the community has devised several patterns to help improve productivity. Let's review few of these patterns based on their categories:

Read more

Google For Nigeria: We saw it all…

By Christian Nwamba
Google For Nigeria: We saw it all…

Note from Cloudinary: Christian Nwamba, a frequent Cloudinary contributor, recently attended, and was a main speaker, at the Google Developer Group (GDG) Conference in Lagos, Nigeria. Christian led a session teaching more than 500 developers how to “Build Offline Apps for the Next Billion Users.” The stack he used included JS (Vue), Firebase, Service Workers and Cloudinary. Below is his account of the conference and his talk.

Read more
Viral Images: Securing Images and Video uploads to your systems

When was the last time you got paid $40,000 for a few days of work? That is what happened last year to Russian independent security researcher Andrey Leonov, who discovered that if you upload a specially constructed image file to Facebook, you can make Facebook's internal servers, nested deep within their firewalls, run arbitrary commands to expose sensitive internal files in a way that could easily lead to a data breach.

Read more