Yalantis
How can you make an online video streaming app? We pay attention to the challenges you can face when enabling video streaming, storing data, and its processing.

How to solve common challenges of creating a video streaming app

  • Daria Bulatovych

    Content manager

  • Yana Poluliakh

    Brand manager

Share

Viewing habits have changed a lot in the past several decades. The introduction of on-demand video streaming platforms like Netflix has split TV watchers into two groups: those who have stayed loyal to traditional television and those who have shifted to on-demand video services.

In the competition between traditional TV and digital services, video streaming is winning. According to Streaming Observer, cable television is losing 14,000 subscribers daily in the US.

While traditional TV providers are trying to enter the digital space and on-demand streaming services are investing millions in original media products, some companies have managed to satisfy the needs of both TV and streaming fans. Hulu is one of those companies, offering both live TV and video on demand (VOD).

Hulu was an attempt by two media giants — News Corporation (which later split into Fox and News Corp) and NBCUniversalMedia (now owned by Comcast) to enter the digital direct-to-home space. Only one year after its public launch, the digital service had 42 million viewers. Now Hulu is fully controlled by the Disney company. In 2019, Hulu announced it had reached 82 million viewers, about 70 percent of whom watch ads and about 30 percent of whom are paying subscribers.

Hulu offers both TV programs and on-demand video but operates only in the US. This means entrepreneurs in other locations have a great chance to succeed by creating a Hulu-like app for their local market. This article is aimed at helping you do just that and unveils solutions to the common challenges of creating an app like Hulu.

Market overview

The first piece of advice on how to start a video streaming business is to conduct market research and analyze key players. Let’s take a brief look at the current market and its key players. There are three types of video streaming applications:

  • Web live broadcasting app from traditional TV providers

In response to the declining popularity of satellite and cable TV, communications providers are trying to bundle streaming services for smartphones, smart TVs, laptops, and other internet-connected gadgets. Sling TV and AT&T TV NOW are probably the best-known live TV streaming services.

However, other giants like YouTube and Hulu have also joined the ranks of live TV streamers, giving consumers the ability to enjoy a solid buffet of TV channels via YouTube TV and Hulu + Live TV.

  • On-demand video streaming apps with original content

Unlike cord-cutting services, on-demand video services like Netflix allows users to choose what shows they want to watch.

Netflix started in 1997 as the first online DVD rental store, and in 2007 the company started offering video streaming, which is now its core business. As of the end of 2019, the digital service platform had 61 million subscribers according to Statista. While existing shows and movies were what first attracted users to the service, Netflix is now best known for its original series (House of Cards, Breaking Bad, The Witcher, Stranger Things).

While Hulu is similar to Netflix in terms of providing original content (The Handmaid’s Tale, Harlots, Shut Eye), it’s rather more focused on live TV than movies.

  • Standalone video streaming apps from independent TV networks

Even though you can easily find CBS, the Disney Channel, and HBO among add-on packs for most live TV streaming services, that hasn’t stopped these companies from developing their own independent video streaming apps.
HBO currently has two streaming services: HBO NOW, a standalone streaming service that doesn’t require a cable TV package, and HBO GO, which is included with any cable TV bundle that contains HBO.

The on-demand live-stream service Disney+, launched at the end of 2019, gained 28.6 million viewers in the first three months. The reason for its popularity is clear: for only $7 a month, users get access not only to well-known Star Wars, Marvel, and Pixar films but to shows created exclusively for Disney+ like WandaVision, The Mandalorian, The Falcon and the Winter Soldier, and Loki.

How to create an app like Hulu: Overcoming common technical challenges

When you start developing your own solution, you face a lot of challenges: how to stream video, where to store all the media products, and how to create personalized recommendations for each customer.

Below, we describe how Hulu solves these challenges. Also, Netflix, one of Hulu’s main competitors, is also constantly sharing a ton of ideas and information on its technology stack on its blog.

Choosing how to operate

You may provide content over a privately accessed channel using internet protocol television (IPTV) or over the public internet using over-the-top (OTT) network technology.

The Alliance for Telecommunications Industry Solutions defines IPTV as a secure and reliable way to deliver video and related services to subscribers. The IPTV network employs the IP protocol to transport audio, video, and control signals. It’s a private network in which video streams are delivered and are accessible only from devices (set-top boxes) like the Xiaomi Mi Box, Apple TV 4K, and Roku Ultra.

IPTV is typically divided into three categories:

  • Video on demand: Users can browse a catalog of content and play it on demand
  • Time-shifted TV: Users can pause, restart, and rewind content
  • Live TV: Users can watch television programs as it’s broadcast

On the other hand, over-the-top (OTT) video services use the publicly accessible internet to deliver video and audio. Content from OTT services is provided by third-party providers and is accessible via phones, tablets, and smart TVs with a broadband connection.

OTT services are more popular than IPTV services. Hulu and Sling TV are examples of OTT services, while AT&T U-verse and Verizon Fios are examples of IPTV services. So when you’re building an app that will work with different sources of content and different providers, it’s better to opt for an OTT service.

Enabling video streaming

Video files aren’t designed for streaming. They need to first be downloaded, then played. To enable video streaming functionality, you need to use a protocol that delivers content in the best quality with minimum buffering. These protocols break the video into small chunks, send them to the end user’s device, and then reassemble them.

These are the most popular protocols and their pros and cons:

  • MPEG-DASH

Though being the newest protocol on this list, MPEG-DASH has a pretty high adoption rate. MPEG-DASH is based on HTTP, meaning streams are delivered via standard web servers. Hence, any server can easily be set up to serve MPEG-DASH streams.

MPEG-DASH is an adaptive bitrate (ABR) protocol. This means it detects changes in the internet connection speed and chooses the optimal video quality accordingly, reducing buffering.

MPEG-DASH is also codec-agnostic, meaning you can use any video codec (WebM, H.264, etc.) and audio codec (AAC, MP3, etc.). YouTube, Netflix, and Hulu use MPEG-Dash for streaming content.

  • Microsoft Smooth Streaming (MSS)

Microsoft Smooth Streaming technology was created in 2008 and was a pioneer in adaptive bitrate streaming. MSS supports the AAC and WMA audio codecs and H.264 and VC-1 video codecs.

This protocol also supports PlayReady, a copy prevention technology from Microsoft. But MSS is more difficult to implement compared to other protocols on this list. To deploy it, developers need Microsoft’s Silverlight developer plugin framework.

  • HTTP Live Streaming (HLS)

HTTP Live Streaming, or HLS, is a streaming protocol created by Apple. This is another popular ABR protocol that works over HTTP. HLS supports multiple alternate streams at different bitrates, media encryption, and user authentication.

In terms of codecs, HLS supports H.264 and H.265 for video and AAC and MP3 for audio. It’s compatible with a wide range of devices and firewalls but has relatively high lag time (15 to 30 seconds) while live streaming.

  • HTTP Dynamic Flash Streaming (HDS)

Abode’s HDS is an evolution of the Real-Time Messaging Protocol (RTMP), a protocol created by Abode that used to be the top option for video streaming. This ABR protocol allows for caching content on browsers and CDNs to reduce the load on servers.

HDS supports the VP6 and H.264 video codecs and the MP3 and AAC audio codecs. HTTP Dynamic Streaming only works on devices with Adobe Flash or Adobe Air.

Complex app architecture

Hulu managed to build a complex app architecture that allows for storing and effectively processing data from various sources. Here are some lessons we can learn:

1. A microservices architecture facilitates development 

Gert Drapers, the chief architect at Hulu, said in a recent interview that the company uses a microservices approach for app development. According to this approach, an app is a collection of autonomous services that work seamlessly via application programming interfaces (APIs). Gert says that thanks to the microservices approach, Hulu can scale easily, iterate fast, and free developers from worrying about dependencies.

2. Cloud storage makes apps scalable

The biggest question is how to store and process data from online TV broadcasting systems and VOD effectively and in one place. You can choose whether to host content on your own servers or in the cloud. While both local servers and cloud-based servers can be secured by the latest technology, cloud storage provides greater scalability.

To store data from more than fifty channels and a great library of on-demand videos, Hulu shifted to cloud architecture and chose AWS as their cloud provider. Below, we’ll take a look at how this streaming giant stores and processes data in the cloud.

Read also: Cloud migration checklist and SaaS cloud migration

3. Content delivery networks eliminate delays

A content delivery network, or CDN, is a network of connected servers. The aim of a CDN is to deliver content as quickly, cheaply, reliably, and securely as possible.

In a nutshell, this is how a CDN works: In addition to storing media materials on the origin server, a CDN stores a cached version of the content on several caching servers in different geographical locations. When a user requests this content, the CDN finds the closest server with it and sends the data from this server.

For instance, assume you have a US-hosted video streaming app that operates globally. When a user from Spain requests content, the CDN finds the closest server with that media (let’s say it’s located in Germany) and sends data from that server. This takes one second. Without a CDN, the request and response would travel to the US and back, taking four seconds. Even such a small delay harms the user experience.

The right choice of CDN reduces traffic in the core network and decreases global latency. When properly set up, a CDN can even prevent DDoS attacks. Hulu works with several CDNs: Amazon CloudFront, Akamai, and Limelight.

Summing up: Hulu architecture

Now that we’ve discussed some best practices from Hulu, let’s look under the hood of Hulu Live.

This is the step-by-step algorithm of how Hulu works:

  1. Multiple encoding vendors (services that encode data received from distribution partners) send video materials to the cloud.
  2. A multiple availability zone application load balancer, or multi-AZ ALB, distributes content across servers. Multiple availability zones mean the Amazon relational database automatically maintains a synchronous standby copy of data in several places. For instance, data can be stored in the us-west-2a zone in Oregon while a copy can be in the ap-southeast-1a zone in Singapore. If AWS fails to load data from the server in Oregon, it can get this data from the server in Singapore. This ensures exceptional data availability. A load balancer is a device that receives multiple requests simultaneously and distributes them across a number of servers.
  3. Once data is on the AWS server, it’s repackaged and normalized. Commercial DRM technology is also applied. A manifest file, which tells the video player on the end user’s device how to assemble and order video fragments, is generated. Thanks to EC2, all these tasks are processed directly in the cloud.
  4. Structured data is pushed into Amazon S3, a scalable object storage service.
  5. Data is delivered to viewers via the content delivery networks.

Letting users record TV shows

Hulu lets users record shows that are airing live to their personal cloud-based digital video recorders (DVRs). Velocix Origin and Cisco Infinite Video Platform are among the solutions that may help you implement a cloud-based DVR service in your video streaming application.

Casting to big screens

With wireless screen mirroring, users can send videos from their phones to a bigger screen such as a TV. This feature involves sending information from a user’s computer or mobile device to a TV screen or monitor via Wi-Fi.

The first way to implement this functionality is with the Google Cast SDK. This option enables developers to extend their Android, iOS, or Chrome apps to stream video and audio materials to a TV or sound system. In this case, the app becomes a remote control to manage playback.

The second way is to enable screen mirroring using AirPlay (with Media Player APIs), which is basically an alternative to Google Cast that works with Apple TV and supported iOS apps.

Secure payments

If you’ve chosen to implement a subscription-based business model, you should provide a safe payment method. For this, you should integrate a reliable payment gateway.

Hulu provides several payment options. According to its official website, users can pay by credit/debit card or via PayPal, Venmo, or Amex Express Checkout. Customers can also use Hulu gift cards, which are available at select retail outlets.

You can use either Braintree or Stripe to let customers pay for your service with a card. Both services provide a wide range of client- and server-side SDKs that allow you to accept different payment methods (credit cards, debit cards, special-use cards, prepaid credit cards) for web and mobile apps. Check whether the payment gateway you want to integrate operates in your country. If it doesn’t, check for local payment providers.

Read also: Mobile App Payment Gateway Integration: Stripe, Braintree, PayPal

For iOS subscribers, Hulu makes it possible to pay for the service via the App Store. In this case, billing is handled by Apple (using in-app purchases). Customers of Amazon, Disney+, Roku, Spotify, and Sprint can likewise subscribe to Hulu and be billed directly by these companies.

You can go further and implement payments via Apple Pay and Google Pay and even integrate Face ID or fingerprint authentication to speed up the payment process.

Improving the user experience

In a crowded market, a seamlessly working app only gets you halfway to success. To compete with market leaders like Netflix and Hulu, you should provide exceptional personalization and a great user experience.

Search and exploration

Your search functionality should be intuitive and user-friendly, complete with autocorrect and autocomplete suggestions.

Algolia is a nice tool for implementing search in your TV and movie streaming software (by the way, they have a sample movie search engine on their official site). Video streaming businesses can use the Algolia library to build robust, typo-tolerant, and predictive search that provides an excellent user experience.

You can also opt for Algolia alternatives like Apache Solr. Its major features include powerful full-text search and database integration. This tool has been widely adopted for enterprise search and analytics purposes and boasts an active development community.

Read also: How Can You Find and Hire the App Development Company? 

Video quality, audio tracks, and subtitles

Many of your customers won’t have unlimited mobile data plans or constant access to Wi-Fi, which is why you should let them choose between several video qualities. Besides implementing an adaptive bitrate protocol, you can allow users to choose the video quality on their own.

Multilingual audio tracks and subtitles are also important if you want to reach a wide audience. For example, you can let your users choose between several common languages (or any languages spoken by your target audience) for both audio tracks and subtitles. This feature will also be helpful for those who are trying to learn a foreign language with the help of movies and TV shows.

Downloads (offline support)

This feature enables users to download videos so it’s always accessible on their devices. Just like Hulu does, you can enable browsing through downloadable content only to save time and effort.

Read also: How to Make Your App Available Offline

Relevant recommendations

What should you watch after your favorite TV series has ended? With a great variety of shows, it’s hard for viewers to find one they’ll really like. To assist users in their choice, VOD services build personalized recommendation systems.

There are several ways to create an accurate recommendation system:

  • Content-based filtering algorithms are based on information about genres, actors, countries, etc. These algorithms analyze what shows a user has watched and liked and then find similar content.
  • Collaborative filtering algorithms, on the other hand, rely on information about past user behavior. They analyze the tastes of each user and then make recommendations based on content liked by users with similar tastes.
  • Machine learning algorithms can increase the accuracy of predictions but require time for training neural networks.

On O’Reilly, you can find detailed information about one of the winners of the Netflix Prize — a competition from Netflix for the best algorithm to predict user ratings for unrated Netflix shows.

Where to get information about users’ tastes

When building a recommendation algorithm, the first question you may ask is what exactly it should analyze. For new users or content that has recently appeared in the system, there may be no information about preferences or ratings, making it impossible to make predictions.

Hulu solves this problem in several ways:

  • Taste picker. During onboarding, new subscribers are asked to choose their favorite genres and films. This basic customization helps Hulu recommend shows right after a user signs up. Check out taste picker we’ve designed at Yalantis:
  • My Stuff. This is a hub where users can put their favorite channels and television shows, quickly access them, and get news about new episodes and seasons. Hulu finds content similar to that saved in My Stuff.
  • Likes/dislikes. In Hulu, users can like or dislike the content. If a user dislikes a show, the streaming platform stops suggesting similar shows. In 2017, Netflix also shifted to like and dislike buttons, stepping away from the traditional one- to the five-star rating system.
  • User behavior. Besides gathering data given explicitly by users, video streaming platforms gather information about user searches, viewing behavior (when a user pauses, leaves, rewinds a show, returns to watch), and browsing and scrolling behavior.

Combined, these sources of information allow an algorithm to make accurate predictions. Thanks to accurate recommendations, users stay longer in an application and user retention grows.

Creating and curating content: Where does Hulu get content from?

In addition to creating original series, Hulu partners with a number of networks and media companies to deliver high-quality media material to their audience. In addition to NBC, ABC, and Fox, the company has partnerships with A&E, Big Ten Network, Bravo, E!, and Fox Sports 2. In June 2019, Hulu made a deal with Lionsgate to get the streaming and TV rights to movies released under the Lionsgate label in 2020 and 2021.

Hulu spends around $2.5 billion on content annually according to The Hollywood Reporter. But that number is likely to increase since Disney has taken control of the company.

Hulu’s investments in the original content are justified, as providing an entry point into the world of on-demand TV is not enough to attract prospective subscribers. These days, it’s important to deliver unique high-quality pre-produced videos that users can’t find elsewhere. In other words, original content is what drives the demand for video streaming services.

Monetizing your app

Typically, over-the-top media platforms use one of three business models (or combine them):

  • Subscription-based video on demand (SVOD) is similar to traditional TV subscriptions. In this model, a user pays yearly, quarterly, or monthly to access platform content.
  • Advertising-based video on demand (AVOD) is free for consumers, but AVOD apps regularly show advertisements.
  • Transactional video on demand (TVOD) requires users to pay for each TV show or film. This model is divided into electronic sell-through (users pay for permanent access to the content) and download to rent (users get access to the content for a limited time).

Hulu is built around getting revenue from monthly subscriptions and showing on-screen advertisements. It’s known that Hulu splits its ad revenue with content providers and distribution partners. According to Wikipedia, the service retains from 30 to 50 percent of advertising revenue from the shows it distributes.

Under the Disney umbrella, Hulu is going to dive more into original programming. This intention is backed by Disney’s aspiration to turn Hulu into an adult complement to Disney+, making it a subscription service tailored to family viewing.

Hulu is now among the most prominent online video market players who are trying to advance the on-the-go streaming revolution. Who knows? You may have every chance to become the next Hulu in your region if you opt for both on-demand shows and live streaming. At Yalantis, we have large experience in live streaming app development. We’ll help you implement your app ideas by providing native app development services.

Creating and curating content: Where does Hulu get content from?

We provide custom software development services

See our expertise

Rate this article

Share this article

4.2/5.0

based on 161 reviews