per-title encoding – Bitmovin https://bitmovin.com Bitmovin provides adaptive streaming infrastructure for video publishers and integrators. Fastest cloud encoding and HTML5 Player. Play Video Anywhere. Fri, 27 Sep 2024 03:34:33 +0000 en-GB hourly 1 https://bitmovin.com/wp-content/uploads/2023/11/bitmovin_favicon.svg per-title encoding – Bitmovin https://bitmovin.com 32 32 3-Pass encoding enhances video quality, making every bit count https://bitmovin.com/blog/3-pass-encoding/ Fri, 27 Sep 2024 03:33:05 +0000 https://bitmovin.com/?p=288152 Introduction Bitmovin’s VOD Encoder is known for its quality, speed, and cloud-native ability to scale quickly and resiliently. Advanced features like split-and-stitch encoding with Smart Chunking,  Per-Title and 3-Pass encoding set it apart from other encoders on the market, in terms of both visual quality and bitrate efficiency. For our customers, it means lower costs...

The post 3-Pass encoding enhances video quality, making every bit count appeared first on Bitmovin.

]]>
Introduction

Bitmovin’s VOD Encoder is known for its quality, speed, and cloud-native ability to scale quickly and resiliently. Advanced features like split-and-stitch encoding with Smart ChunkingPer-Title and 3-Pass encoding set it apart from other encoders on the market, in terms of both visual quality and bitrate efficiency. For our customers, it means lower costs for storing and delivering video, along with a better experience for their viewers. 

In this post, we’ll explain how Bitmovin’s 3-Pass encoding works and show the benefits of using 3-Pass encoding with Bitmovin. 

How does 3-Pass encoding work?

As you might have guessed, with 3-Pass encoding the analysis and encoding optimization happen in 3 phases. After our split-and-stitch algorithm (now with Smart Chunking) divides the source file into separate chunks for parallel processing, the following steps are taken:

1. Analysis

The first step is to run a constant rate factor (CRF) encoding pass that varies the bitrate as needed to maintain constant quality. Using a carefully chosen quality target value based on the source file, we are able to capture valuable data about the motion, complexity and scene changes in the content that we can use in the next steps.

2. Encoding 

The information gathered from the CRF pass is scaled so that the overall average bitrate of the output file will respect the target bitrate set by the user. Using new target information, the chunks are encoded. 

3. Optimization

Using data from the previous passes, the encoder now re-allocates bits from less complex segments to more complex ones, wherever possible. This ensures there is no degradation during complex, high-motion scenes and helps clean up any lower quality frames. In the process of redistributing bits, any drastic jumps in bitrate between adjacent chunks are smoothed to avoid causing player buffer issues. 

What are the benefits of Bitmovin’s 3-Pass encoding?

Now that you know how it works, let’s talk about how using 3-Pass encoding benefits your customers, your operations and your bottom line.

Better visual quality

Because of its multi-stage process, 3-Pass encoding makes sure your viewers are getting the best possible quality on the first try. No need for time consuming experimentation and analysis to find the ideal encoding settings. Your content looks the best it can at any bandwidth.

Bitrate and cost control

Other approaches to improving encoding quality usually involve increasing bitrate, which in turn, increases the eventual storage and delivery costs. 3-Pass encoding makes sure the bits are used exactly and only where they are needed, giving the ideal balance of quality and efficiency for lower costs and less buffering.

Scalability and speed 

When using traditional encoding approaches, multi-pass encoding can take a long time for a single file, not to mention large batches of files. With Bitmovin’s 3-Pass, neither is an issue as our split-and-stitch process and cloud-native scalability keep turnaround times to a minimum, even for long form content and unpredictable spikes in demand. 

Quality comparisons

In the graph below, the same file was encoded using 2-Pass and 3-Pass encoding and the VMAF score was measured and plotted for every frame (the vertical axis represents how many frames received that VMAF score). With 3-Pass, represented in blue, you can see that the overall average VMAF score improved a bit compared to 2-pass, shown by the red dots on the lower plots. But there’s another more important and impressive difference between the 2, which is the reduction of lower quality frames that would be noticeable by viewers. The quality of the worst frame was improved by ~20 points and the amount of frames scoring below 80 was cut in half.

You can also see where the 2-pass rendition had several frames scoring in the upper 90s, meaning bits were being allocated to those frames that weren’t detectably improving quality for viewers. 3-pass encoding was able to intelligently redistribute those “extra” bits to frames where they could make a noticeable difference.

3-pass encoding vs 2-pass encoding graph showing far fewer low quality frames with 3-pass encoding
Plot showing the quality improvements and bitrate redistribution of 3-Pass Encoding

3-pass works especially well for content with a mix of different complexity and motion, letting you use lower bitrates to produce equivalent quality compared to other methods. This means your streams are less susceptible to buffering and look better for viewers with limited bandwidth, not to mention the cost savings on storage and CDN that can really add up.

3-pass encoding vs 2-pass encoding for sports content. Side-by-side comparison shows equivalent quality with lower bitrate using 3-pass.
3-Pass Encoding produces equivalent quality to other methods, with lower bitrates

What is the difference between 3-Pass and Per-Title encoding?

If you’re familiar with Bitmovin, you may also know about our Per-Title encoding. You might be wondering, “Isn’t Per-Title also about creating the ideal encoding settings for each video?” If you were, great question!

Per-Title encoding analyzes the source file settings and complexity and determines the ideal adaptive bitrate ladder for that piece of content. The Per-Title algorithm feeds the encoder with the resolution and bitrate pairs that will provide the best quality of experience across the entire range of devices and bandwidth. 

3-Pass is about getting the absolute best quality encoding for a given bitrate and resolution pair. So Per-Title determines the ideal target bitrates and 3-Pass makes sure they look as good as possible. For adaptive bitrate streaming, we highly recommend using 3-Pass and Per-Title together for the best results. 

The graph below is an extreme example, but for this video from a Bitmovin customer, using 3-pass with Per-Title meant encoding an ABR ladder with 4K video at 2 Mbps and lower, compared to their incumbent ABR ladder that was targeting 15 Mbps for 4K content which was mostly wasted for this particular video.

- Bitmovin
Using 3-Pass and Per-Title encoding together produces the best visual quality and streaming experiences.

Try 3-Pass encoding for free

3-Pass and Per-Title encoding are both available to use, for free, with a Bitmovin trial. If you’re obsessed with quality, but are spending too much time and effort finding the best encoding settings, you really need to sign up today and see the results for yourself. 

The post 3-Pass encoding enhances video quality, making every bit count appeared first on Bitmovin.

]]>
Game-Changing Savings with Per-Title Encoding https://bitmovin.com/blog/per-title-encoding-savings/ https://bitmovin.com/blog/per-title-encoding-savings/#respond Mon, 27 Nov 2023 06:09:54 +0000 https://bitmovin.com/?p=272890 Introduction The post will explain how Per-Title Encoding works and the advantages of using Per-Title Encoding compared to using the same bitrate ladder for all your content. Per-Title often requires fewer ABR ladder renditions and lower bitrates that translate into storage, egress and CDN cost savings. It also improves QoE with less buffering and quality...

The post Game-Changing Savings with Per-Title Encoding appeared first on Bitmovin.

]]>

Table of Contents

Introduction

The post will explain how Per-Title Encoding works and the advantages of using Per-Title Encoding compared to using the same bitrate ladder for all your content. Per-Title often requires fewer ABR ladder renditions and lower bitrates that translate into storage, egress and CDN cost savings. It also improves QoE with less buffering and quality drops for viewers, along with better visual quality. On top of that, it can make 4K streaming viable, turning it from a loss leader and financial burden into a revenue generator. Keep reading to learn more. 

Per-Title Encoding is key for cutting streaming costs

For the past couple of years, “controlling costs” has been among the top challenges for video streaming, according to the results of Bitmovin’s annual video developer survey. While the pandemic years created a boom for streaming services and content creation, things have now shifted toward cost-cutting in a few different ways. Several platforms have cut back their budgets for original content and are removing shows and films from their libraries to save on licensing and other operational costs. 

Another trend highlighted by industry analyst Dan Rayburn, has been the lowering of bitrates, including removal of 4K streaming in some cases. Services that do still offer 4K often restrict it to their highest-priced subscription tier. Back in 2014, Dan called out the cost and QoS challenges services would face when delivering 4K video, and many are still struggling with that reality, especially those using a fixed bitrate ladder for their encoding. 

Per-Title Encoding can have a huge impact on 4K content, something that can be seen in the recommended internet connection speeds for 4K streaming:

Netflix: 15 Mbps (they use their own version of per-title encoding)

Disney+: 25 Mbps

Paramount+: 25 Mbps

Max: 50+ Mbps 

For long form content that gets even in the tens of thousands views, the difference between 15 Mbps and 25 or 50 Mbps will add up quickly in the form of excess network egress and CDN costs. With non-optimized encoding at those high bitrates, a viral hit that ends up getting hundreds of thousands or millions of views can end up being a financial burden. Using Per-Title Encoding ensures each video uses only the bits needed for its content and complexity and when combined with more advanced codecs like HEVC and AV1, it can make a game-changing difference. When Bitmovin added support for using Per-Title Encoding with the AV1 codec, I was shocked to see just how low the bitrate could go (often under 2 Mbps). 

Chart showing Per-Title Encoding with AV1 can encoding 4K content with less than 2 Mbps
Per-Title Encoding with AV1 can deliver mind-blowing low bitrates

How does Per-Title Encoding work?

In 2012, Bitmovin’s co-founders published a research paper titled “Dynamic Adaptive Streaming over HTTP Dataset” that, among other things, provided data for per-genre encoding that would further evolve into Bitmovin’s Per-Title Encoding. Per-Title Encoding is an optimization of adaptive bitrate encoding that analyzes the complexity of a video file and determines the encoding settings needed to maintain the highest level of visual quality together with the most efficient adaptive bitrate ladder. 

- Bitmovin
Bitmovin’s Per-Title Encoding process

In 2015, Netflix published a tech blog that detailed their research and development of their own per-title encoding. Through brute force encoding of content at different resolutions and quality levels, they found that the ideal adaptive bitrate ladder for each video would form a smooth convex hull when plotting quality vs bitrate. When the bitrate and resolution pairs in their ABR ladder fell along the convex hull, it maximized quality for the viewer and meant that data was being distributed efficiently. Bitmovin’s Per-Title complexity analysis spares you the excessive testing and experimentation and automatically determines the ideal ABR ladder and convex hull for each file. 

- Bitmovin

Per-Title Encoding ABR ladder vs fixed bitrate ladder

The graph below shows how Per-Title Encoding provides better QoE with lower bitrates than the competition’s static bitrate ladder for a 4K source. Per-Title Encoding matches the source at 3840x2160p, with a bitrate of 6050 kbps and a VMAF score of 95.5. The static ladder is capped at 1080p and requires 7830 kbps for a lower VMAF score of 90.9. That’s 22.7% bitrate savings with better quality by using Per-Title.

- Bitmovin
Per-Title Encoding provides higher quality 4K with a lower bitrate than our customer’s previous 1080p using fixed ABR ladder

The next example uses the HEVC codec for the customer’s UHD ladder vs Bitmovin Per-Title Encoding. The highest rendition on the Per-Title ladder only needs 1.9 Mbps to hit a VMAF score of 94.9, while the static ladder uses 15 Mbps, an increase of 13.1 Mbps in bandwidth for an undetectable VMAF difference. This equates to 87% savings on the CDN bill for viewers of the top rendition, without sacrificing quality. 

With a duration of 44:39, the top rendition for Per-Title would mean 0.622 GB in data transfer while the top rendition for the fixed ladder would require 5.023 GB. For popular content tens of thousands of views (or more) those savings add up quickly. At a time when some services are removing 4K renditions, these optimizations make it feasible to provide UHD and improve margins on premium subscription tiers. 

- Bitmovin
For lower complexity content, Per-Title Encoding only needs 2 Mpbs for 4K video, 87% lower than our customer’s previous encoding ladder.

Next we have some medium-complexity 1080p content where using Bitmovin Per-Title with a more advanced codec like HEVC can make a huge difference. Throughout the ladder, using Bitmovin Per-Title with H.264 provides some quality gains and bitrate savings compared to the customer’s static ladder with ffmpeg, but the results from Per-Title with HEVC highlight the impact of using a newer generation codec. HEVC delivers 1080p in the 90+ VMAF range with only 2 Mbps while ffmpeg with H.264 needs over 6.5 Mbps for the same quality. That’s around 70% bandwidth savings for viewers of the top rendition. At the lower end of the spectrum, a viewer with 1 Mbps available bandwidth would be limited to 432p with the static H.264 ladder, but would still receive 1080p with Per-Title HEVC.

- Bitmovin
For medium-high complexity content, using Per-Title Encoding with HEVC can deliver the same quality with 70% lower bitrate than AVC/H.264.

Storage savings with Per-Title Encoding

Bitmovin’s Per-Title Encoding can deliver massive storage savings when compared to fixed bitrate ladders, by removing unnecessary renditions from the ABR ladder and ensuring the most efficient bitrate is used for each piece of content. The chart below shows the potential savings on your storage bill from using Per-Title Encoding over a fixed ladder with AVC encoding. 

- Bitmovin

Improve quality without increasing bitrates 

Per-Title Encoding can also improve quality without needing to use additional data. The chart below references our customer’s fixed ABR ladder using the AVC codec and shows the quality improvements (% VMAF score) that Bitmovin’s Per-Title provided with different codecs at the same bitrate. 

- Bitmovin

Bitmovin Smart Chunking prevents lower quality outlier frames

The graphs below plot the VMAF quality scores of every frame in our customer’s sample content. Bitmovin’s smart chunking virtually eliminates all of the lower quality outlier frames that are present in our competitor’s encoding and would be noticeable by viewers. Smart Chunking is now active for all Bitmovin VOD Encoding without any additional configuration or cost to the user.

Conclusion

In the past, balancing cost and quality has always been a tradeoff, but using Per-Title Encoding may be the single most effective way for streaming services to reduce their total cost of ownership without sacrificing their viewers’ quality of experience. With consumers having an abundance of options, the QoE improvements Per-Title provides can mean the difference between renewal and churn and its cost savings can tip the scales toward profitability. With streaming firmly in a cost conscious era, using Per-Title Encoding makes more sense than ever before.   

Ready to see what difference Per-Title Encoding can make with your content? Anyone can test it out for free with no coding required using our VOD encoding wizard. We also have a comparison tool in our dashboard where you can input your own content or use common test videos. Try it out today!

- Bitmovin
Bitmovin’s VOD Encoding UI allows anyone to use Per-Title encoding with no coding necessary

Choosing the Best Per-Title Encoding Technology

What is Per-Title Encoding and how does it work 

How to Create a Per-Title Encoding

Advanced Per-Title configuration 

The post Game-Changing Savings with Per-Title Encoding appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/per-title-encoding-savings/feed/ 0
Encoding VR and 360 Immersive Video for Meta Quest Headsets https://bitmovin.com/blog/best-encoding-settings-meta-vr-360-headsets/ https://bitmovin.com/blog/best-encoding-settings-meta-vr-360-headsets/#respond Tue, 14 Nov 2023 07:24:23 +0000 https://bitmovin.com/?p=258046 This article was originally published in April 2023. It was updated Nov 14, 2023 with information about Quest 3 AV1 support. Whether you’re calling it Virtual Reality (VR) or 360 video or Metaverse content, there are a lot of details that should be taken into consideration in order to guarantee a good immersive experience. Things...

The post Encoding VR and 360 Immersive Video for Meta Quest Headsets appeared first on Bitmovin.

]]>
This article was originally published in April 2023. It was updated Nov 14, 2023 with information about Quest 3 AV1 support.

Whether you’re calling it Virtual Reality (VR) or 360 video or Metaverse content, there are a lot of details that should be taken into consideration in order to guarantee a good immersive experience. Things like video resolution, bitrates and codec settings all need to be set in a way that creates a high quality of experience for the viewers, while being conscious of storage and delivery costs that can come with these huge files. Although all this stuff has been widely discussed for 2D displays, like mobile phones and TVs, VR streaming differs enormously from those traditional screens, using different display technology that drastically shortens the viewing distance from eye to screen. In addition to that, VR headset specs may differ from one device to another, so the same video may produce a different visual experience depending on the model or device. In this post we are going to share the things you need to consider, along with tips and best practices for how to encode great looking VR content, specifically for playback on Meta Quest (formerly known as Oculus) headsets.

Visual quality requirements of 3D-VR vs 2D videos

Unlike traditional 2D screens, where viewers are located at a considerable distance from the screen, VR viewers are looking at a smaller screen much closer to the eyes. This drastically changes the way a video should be encoded in order to guarantee good visual quality for an immersive 3D experience. For this same reason, the traditional 2D video quality metrics such as VMAF and PSNR are not usually useful to measure the visual perception for 3-D VR content, for instance:

VMAF for 3D-VR

VMAF considers 2D viewers located at a viewing distance in the order of magnitude of the screen size, for example:

  • 4K VMAF model – vmaf_4k_v0.6.1,  takes into consideration that the viewer is located at 1.5H from the screen, where H is the TV screen high. 
  • HD VMAF model – vmaf_v0.6.1, considers  a viewer located at 3H from the screen.

The previous models resulted in a pixel density of about 60 pixels per degree (ppd) and 75 ppd – for 4K and HD respectively. However, when talking about VR videos, the pixel density is highly magnified, for instance, for Meta Quest 2 headsets the specs mention a pixel density of 20 ppd. Therefore, the predefined VMAF models are not suitable.  Actually, if you do use VMAF to get the visual quality (VQ) for a VR video intended for headset playback, you’ll probably find it does not look good enough even though it has a high VMAF score – this is because of the “zoom in” that Quest does in comparison to the traditional screens. 

PSNR for 3D-VR

Even when it is not a rule, it is expected to have good VQ on 2D videos when PSNR values are between 39 dB and 42 dB – for average to high complexity videos. See [1] [2] However, this PSNR range is usually not enough to create a good immersive experience with Quest headsets. For instance, according to some empirical tests we did, we found that at least a PSNR above 48 dB is required for good VQ with Quest devices.

- Bitmovin
image source: Meta Quest Blog

The Best Encoding Settings for Meta Quest devices

A general overview of the Video Requirements can be found at the Meta Quest website. Additionally, the following encoding settings may be useful when building your encoding workflow: 

Resolution

The minimal resolution suggested by Meta is 3840 x 3840 px for stereoscopic content and 3840 x 1920 px for monoscopic content, which is much higher than earlier generations or mobile devices.  

H265 Video Codec Settings 

Video Codec – Meta Quest devices support H264(AVC) and H265(HEVC) codecs, however given that they require resolutions above 3840 px, we strongly recommend H265 due to the high encoding efficiency it has when comparing it to H264. 

GOP Length – In our tests we successfully achieved a good VQ within the recommending bitrate range, using a 2-second GOP length for 30 fps content. However, since the VR experience is not as latency sensitive for video on demand, we suggest using greater GOP lengths in order to improve the encoding efficiency even more if needed.

Target bitrate and CRF – Meta suggests a target bitrate between 25-60 Mbps and as mentioned, we strongly suggest using the H265 codec to maintain high visual quality within that range. If the bitrate goes too far above the suggested maximum, customers may experience slow playback or stalling due to device performance issues. 

Having said all that, it is worth mentioning that setting a proper bitrate to meet the VQ expectations is really challenging, mainly because the bitrates necessary may change from one piece of content to another depending on their visual complexity. Because of that, we suggest using a CRF based encoding instead of a fixed bitrate. Specifically, we found that when talking about H265, a CRF between 17-18 would produce videos that are suitable for viewing on Quest headsets without excessively high bitrates. 

Building 360-VR encoding workflows with Bitmovin VOD Encoding

Bitmovin’s VOD Encoding provides a set of highly flexible APIs for creating workflows that fully meet Meta Quest encoding requirements. For instance:

  • If adaptive bitrate streaming is required at the output, Bitmovin Per-Title encoding can be used to automatically create the ABR ladder with the top rendition driven by the desired CRF target.
  • If progressive file output is required, a traditional CRF encoding can be used by capping the bitrates properly.
  • Additionally, Bitmovin filters can be used to create monoscopic content based on a stereoscopic input, for instance, cropping the original/stereoscopic video to convert it from a top-and-bottom or side-by-side array into a single one. Monoscopic outputs can be viewed on 2D displays, extending the reach of your 360 content beyond headsets.

Per-Title Encoding configuration for VR

The following per-title configuration may be used as a reference for encoding a VR content. Depending on the content complexity, the output may include from 4 to 7 renditions with the top rendition targeting a CRF value of 17.

perTitle: {
     h265Configuration: {
       minBitrate: 5000000,
       maxBitrate: 60000000,
       targetQualityCrf: 17,
       minBitrateStepSize: 1.5,
       maxBitrateStepSize: 2,
       codecMinBitrateFactor: 0.6,
       codecMaxBitrateFactor: 1.4,
       codecBufsizeFactor: 2,
       autoRepresentations: {
         adoptConfigurationThreshold: 0,
         },
       },
     }

Theres also full code samples here if you would like to dig deeper.

The same configuration can be used to encode any VR format such as top-and-bottom, side-by-side or monoscopic 360 content. The per-title algorithm will automatically propose a proper bitrate and resolution for each VR format based on the input details. Additionally, it is strongly recommended to use VOD_HIGH_QUALITY as an encoding preset and THREE_PASS as encoding mode. This will assure the Bitmovin Encoder delivers the best possible visual quality. 

In our tests using typical medium-high complexity content, we found that using a CRF of 17 produces good VQ for Meta Quest playback, with PSNR values above 48 dB and bitrates that are usually below the suggested maximum of 60 Mbps. 

Alternatively, traditional CRF encoding can be used instead of Per-title, for instance if only one rendition is desired at the output – with no ABR.

Creating monoscopic outputs from stereoscopic inputs

Usually, VR 360 cameras record the content in stereoscopic format either in top-and-bottom or side-by-side arrangements. However, depending on the customer use case, it could be required to convert the content from stereoscopic to monoscopic formats. This can be easily solved with the Bitmovin VOD Encoding API by applying cropping filters to remove the required pixels or frame percentage from the stereoscopic content, turning it into monoscopic format, i. e., by removing the left/right or the bottom/top side from the input asset.

- Bitmovin
Top-Bottom Stereoscopic Format source: Blender Foundation

For instance, the following javascript snippet would remove the top side of a 3840 x 3840 stereoscopic content:

.....
.....
// Crop filter definition
const cropTopSideFilter = new CropFilter({
  name: "stereo-to-mono-filter-example",
  left: 0,
  right: 0,
  bottom: 0,
  top: 1920,
 })
 
// Crop filter creation 
cropTopSideFilter = await bitmovinApi.encoding.filters.crop.create( cropTopSideFilter)

// Stream Filter definition
const cropTopSideStreamFilter = new StreamFilter({
  id : cropTopSideFilter.id,
  position: 0,
})

// StreamFilter creation
bitmovinApi.encoding.encodings.streams.filters.create(<encoding.id>, <videoStream.id>, [cropTopSideStreamFilter] )

AV1 Codec Support on Meta Quest 3

In the recommended settings above, we strongly suggested using HEVC over H.264 because the newer generation codec offers greater compression efficiency that turns into bandwidth savings and a better quality of experience for users. Now with the Quest 3, you can take advantage of AV1, an even newer codec that outperforms HEVC. On average, our testing has shown that you can maintain equivalent quality while using around 30% lower bitrate with AV1. This will depend on the type of content you’re working with, so if you’re experimenting with AV1 for the Quest 3, choosing a bitrate that’s ~25% lower than your HEVC encoding would be a good place to start.  DEOVR shared a 2900p sample .mp4 file encoded with AV1, but you can also create your own with a Bitmovin trial account.

Ready to start encoding your own 360 content for Meta Quest headsets? Sign up for a free trial and get going today! 

Related links:

Bitmovin Docs – Encoding Tutorials | Per-Title Configuration Options explained

Bitmovin Player 360 video demo

The post Encoding VR and 360 Immersive Video for Meta Quest Headsets appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/best-encoding-settings-meta-vr-360-headsets/feed/ 0
Video Encoding: The Big Streaming Technology Guide [2023] https://bitmovin.com/blog/video-encoding-guide/ https://bitmovin.com/blog/video-encoding-guide/#respond Mon, 21 Aug 2023 09:00:00 +0000 https://bitmovin.com/?p=266038 In this guide, we dive into what video encoding is and how it works. We also explore the differences between hardware vs. software encoding, lossy vs. lossless compression, and encoding vs. transcoding (two terms that are often used interchangeably).

The post Video Encoding: The Big Streaming Technology Guide [2023] appeared first on Bitmovin.

]]>
The days of clunky VHS tapes and DVDs have become a distant memory. Thanks to data compression technologies like video encoding, we’re now able to stream high-quality videos to connected devices by simply pressing play. 

Everything from premium shows and motion pictures to user-generated content (UGC) is delivered via the internet today. Online video consumption has never been higher, with the average viewer spending a whopping 19 hours a week watching digital videos.

video encoding - weekly time spent with online video

The move from analog to digital has fueled this trend, as well as advancements in data compression. Video encoding accomplishes both of these needs, making the distribution of streaming content both efficient for publishers and abundantly available to end users.

Whether it’s a Netflix series, an interactive fitness class, or a Zoom call with coworkers, streaming video is everywhere. But plenty goes on in the background to prepare digital content for multi-device delivery. Encoders play a pivotal role in shrinking down the data of today’s high-definition videos without sacrificing quality.

In this guide, we dive into what video encoding is and how it works. We also explore the differences between hardware vs. software encoding, lossy vs. lossless compression, and encoding vs. transcoding (two terms that are often used interchangeably).

Use our interactive table of contents to navigate to the section of your liking or start reading for the whole picture.

What is video encoding?

Video encoding is the process of converting RAW video into a compressed digital format that can be stored, distributed, and decoded. This type of processing is what made it possible to compress video data for storage on DVDs and Blu-ray discs back in the day. And today, it powers online video delivery of every form. 

Encoding is essential for streaming. Without it, the video and audio data contained in a single episode of Ted Lasso would be far too bulky for efficient delivery across the internet. Encoding is also what makes today’s videos digital: It transforms analog signals into digital data that can be played back on common viewing devices. These devices — computers, tablets, smartphones, and connected TVs — have built-in decoders that then decompress the data for playback. 

That said, you’ve likely streamed before without using a standalone encoding appliance. How could this be? Well, for user-generated content (UGC) and video conferencing workflows, the encoder is similarly built into the mobile app or camera. Embedded encoding solutions like these work just fine for simple broadcasts where the priority is transporting the video from point A to point B. 

For more professional broadcasts, though, hardware encoders and computer software like Open Broadcaster Studio (OBS) come into play. Content distributors use these professional encoders to fine-tune their settings, specify which codecs they’d like to use, and take advantage of additional features like video mixing and watermarking. 

Encoding always occurs early in the streaming workflow — sometimes as the content is captured. When it comes to live streaming, broadcasters generally encode the stream for transmission via the Real-Time Messaging Protocol (RTMP), Secure Reliable Transport (SRT), or another ingest protocol. The content is then converted into another video format like HTTP Live Streaming (HLS) or Dynamic Adaptive Streaming over HTTP (DASH) using a video transcoding service like Bitmovin.

What is video compression?

Video compression is the piece of video encoding that enables publishers to fit more data into less space. By squeezing as much information as possible into a limited number of bits, compression makes digital videos manageable enough for online distribution and storage. 

Imagine you have a hot air balloon that needs to be transported to a different location by ground. The balloon would be too unwieldy to fit anywhere without deflating it. But by removing the air and folding the balloon up into a compact size, it would become significantly smaller and easier to handle.

Video compression works the same way. Specifically, it removes redundant information and unnecessary details for compact transmission. Just as the deflated hot balloon becomes easier to handle, a compressed video file is more suitable for storage, global transmission, and end-user delivery. 

Lossless vs. lossy compression

Video compression technology falls into two camps: lossless and lossy encoding. These opposing approaches work just as they sound: 

  • Lossless compression describes an approach to encoding that shrinks down the file size while maintaining data integrity. With lossless compression, 100% of the original file returns when it’s decoded. ZIP files are a great example of this. They allow you to cram a variety of documents into a compressed format without discarding anything in the process. 
  • Lossy compression, on the other hand, describes encoding technologies that remove any data deemed unnecessary by the compression algorithms at work. The goal of lossy compression is to throw out as much data as possible while maintaining video quality. This enables a much greater reduction in file size and is always used for streaming video. When you use image formats like JPEG, you’re also using lossy compression. That’s why JPEG image files are easier to share and download than RAW image files. 

How is video encoded?

Encoding works by using algorithms to find patterns, reduce redundancy and, in turn, eliminate unnecessary information. Video streaming workflows employ lossless compression to create an approximation of the original content that makes it easy to transmit the data across the internet while maintaining video quality for end users.

This involves three steps:

  1. Identify patterns that can be leveraged for data reduction.
  2. Drop all data that will go undetected by the human eye or ear.
  3. Quickly compress all remaining data.

Accomplishing this requires the help of video and audio codecs. Literally ‘coder-decoder’ or ‘compressor-decompressor,’ codecs are the algorithms that make it all happen. They facilitate both the compression and the decompression that occurs once the video file reaches end-users.

Temporal compression

In order to capture the required visual data without going overboard on bitrate, video codecs break up the frames of a video into groupings of a single keyframe followed by several delta frames. The keyframe depicts the entire image of a video, whereas the subsequent delta frames only contain information that has changed. This is called temporal compression.

temporal compression - video encoding

When a stagnant backdrop appears for the entirety of a talking-head news broadcast, for example, there’s no need to store all of that data in every single frame. Instead, the compression algorithm prunes down any visual data that goes unchanged and only records differences between frames. The stagnant backdrop offers a major opportunity to toss out unnecessary data, whereas the gestures and movements of the reporter standing before the backdrop are captured in the delta frames.

So, while the keyframe of a newscast will always show everything within the frame — including the reporter, their desk, the studio background, and any graphical elements — the delta frames only depict the newscaster’s moving lips and hand gestures. This is called temporal compression because it takes advantage of the fact that large portions of video images often stay similar for some time. In this way, video codecs can quickly remove excessive information rather than recreating the entire scene in each frame.

Spatial compression

Another strategy for tossing out superfluous information is spatial compression. This involves a process of compressing the keyframes themselves by eliminating duplicate pixels in the same image. Consider the previous example. If the newscaster is presenting in front of a solid green backdrop, it’s not necessary to encode all of the green pixels. Instead, the encoder would only transmit the differences between one group of pixels and the subsequent group. 

Spatial compression enables video encoders to effectively reduce the redundant information within each frame, resulting in smaller file sizes without significant loss in perceived video quality. It plays a vital role in modern video codecs like H.264 (AVC), H.265 (HEVC), AV1, and VP9, enabling efficient video encoding and transmission for various applications, including streaming, broadcasting, video conferencing, and storage.

Hardware vs. software encoding

As noted above, encoding can occur within a browser or mobile app, on an IP camera, using software, or via a stand-alone appliance. Dedicated software and hardware encoders make the encoding process more efficient — resulting in higher throughput, reduced processing time, and improved overall performance. They also offer more advanced configurations for precise control over the encoding parameters. This enables content creators and streaming providers to optimize the video quality, bitrate, resolution, and other aspects to meet their specific requirements and deliver the best possible viewing experience.

Dedicated hardware used to be the way to go for video encoding, but plenty of easy-to-use and cost-effective software options exist today. Popular software options for live streaming include vMix, Wirecast, and the free-to-use OBS Studio. On the hardware side of things, Videon, AJA, Matrox, Osprey, and countless other appliance vendors offer purpose-built solutions for professional live broadcasting. 

When it comes to VOD encoding, FFmpeg is a popular software option. Vendors like Harmonic and Telestream also offer hardware options. 

The decision between software and hardware encoding often comes down to existing resources, budget, and the need for any advanced configurations or features. Plenty of producers elect to use a mix of software and hardware encoding solutions for their unique workflows. The chart below highlights the pros and cons of each option.

SoftwareHardware
Cost effective and sometimes freeCan get pricey
Runs on your computerPhysical appliance
Accessible and versatileMore robust and reliable
Slower encoding timesCan encode quickly and in high quality
Power is dependent on your computing resourcesActs as a dedicated resource for encoding workload
Eliminates the need for additional equipmentFrees up computing resources
Best for simple broadcasts and user-generated content (UGC)Best for complex productions and  live television or cable studio setups

Check out our comprehensive guide to The 20 Best Live Streaming Encoders for an in-depth comparison of the leading software and hardware encoders available.

What are the most common encoding formats?

Encoding formats is a vague term. That’s because a compressed video is ‘formatted’ in three ways:

  1. By the video codec that acts upon it to condense the data. Examples of popular codecs include MPEG-2, H.264/AVC, H.265/HEVC, and AV1.
  2. By the video container that packages it all up. Examples of popular video container formats include MP4, MOV, and MPEG-TS.
  3. By the streaming protocol that facilitates delivery. Examples of popular protocols include HLS, RTMP, and DASH. 

Here’s a closer look at all three. 

What are video codecs?

A video codec is a software or hardware algorithm that compresses and decompresses digital video data. It determines how the video is encoded (compressed) and decoded (decompressed). Different video codecs employ various compression methods, such as removing information undetectable by the human eye, exploiting spatial and temporal redundancies, and applying transformation techniques. 

One popular codec you’re sure to know by name is MP3 (or MPEG-1 Audio Layer III for those who like their acronyms spelled out). As an audio codec, rather than a video codec, it plays a role in sound compression. I bring it up because it demonstrates how impactful codecs are on media consumption trends.

The MP3 codec revolutionized the music industry in the 1990s by making giant audio libraries portable for the first time. Music lovers swapped out stacks of CDs for hand-held MP3 players that stored the same amount of music without any noticeable change in audio quality. The MP3 codec did this by discarding all audio components beyond the limitations of human hearing for efficient transportation and storage.

Streaming requires the use of both audio and video codecs, which act upon the auditory and visual data independently. This is where video container formats enter the picture. 

What are video containers?

A video container format, also known as a multimedia container or file format, is a file structure that wraps audio codecs, video codecs, metadata, subtitles, and other multimedia components into a single package. The container format defines the structure and organization of the data within the file, including synchronization, timecodes, and metadata. It doesn’t directly impact the compression of the video itself, but rather provides a framework for storing and delivering the compressed video and associated audio and metadata.

MP4 is a common container format that most know by name due to its compatibility across devices, websites, and social media platforms. Chances are, you have several MP4 files saved to your computer that encapsulate audio and video codecs, preview images, and additional metadata. 

Here’s the contents of an MP4 container saved to my own computer:

mp4 container - video encoding

As you can see, this specific MP4 file contains the H.264 video codec and the AAC audio codec, as well as metadata about the video duration. Protocols like HLS and DASH support the delivery of MP4 files for streaming, which brings me to our third category.

What are streaming protocols?

A video streaming protocol is a set of rules governing how video data is transmitted over a network. It defines the communication and data transfer protocols required for streaming video content to playback devices. 

Each time you watch an on-demand video or live stream, video streaming protocols are used to deliver the data from a server to your device. They handle tasks like data segmentation, error correction, buffering, and synchronization. Examples of video streaming protocols include HTTP-based protocols like HLS and DASH, as well as video contribution technologies like RTSP, RTMP, and SRT for live streaming.

Different protocols require different codecs, so you’ll want to consider your intended video delivery technology when encoding your video.

Codecs, containers, and protocols summarized: 

A video codec handles the compression and decompression of video data; a video container format organizes and packages the compressed video, audio, and metadata into a single file; and a video streaming protocol governs the transmission and delivery of video content over a network. Each component plays a distinct role in the overall process of encoding, packaging, and streaming video content.

But what if you need to package your video into multiple different formats to ensure broad compatibility and optimize distribution? No problem. Video publishers often process and repackage streaming content after it’s initially encoded using a transcoding service like Bitmovin. 

What is transcoding? 

Transcoding involves taking a compressed stream, decompressing and reprocessing the content, and then encoding it once more for delivery to end users. This step always occurs after video content has first been encoded, and sometimes doesn’t occur at all. Unlike encoding, it employs a digital-to-digital conversion process that’s more focused on altering the content than compressing it. 

A primary reason for transcoding live videos is to repackage RTMP-encoded streams for delivery via HTTP-based protocols like Apple’s HLS. This is vital because RTMP is no longer supported by end-user devices or players, making transcoding a critical step in the video delivery chain.

When it comes to VOD, transcoding is used to change mezzanine formats like XDCAM or ProRes into a streamable format. These formats are proprietary and not supported by end-user devices. By transcoding the mezzanine formats into streamable formats like MP4 or HLS, the content becomes broadly accessible.

Transcoding is also done to break videos up into multiple bitrate and resolution renditions for adaptive bitrate delivery. This ensures smooth playback in the highest quality possible across a wide range of devices. 

Here’s a look at the different processes that fall under the transcoding umbrella:

Standard transcoding 

In most video streaming workflows, the files must be converted into multiple versions to ensure smooth playback on any device. Broadcasters often elect to segment these streams for adaptive bitrate delivery using an HTTP-based protocol like HLS or DASH. That way, viewers can access the content across their mobile devices and smart TVs, without having to worry about whether the encoded video content is optimized for their screen size and internet speed.

Transrating

Transrating is a subcategory of transcoding that involves changing the bitrate to accommodate different connection speeds. With pure transcoding, the video content, format, and codec would remain unaltered. Only the bitrate would change. An example of this would be shrinking a 9Mbps stream down to 5Mbps.

Transsizing

Also under the transcoding umbrella, transsizing takes place when content distributors resize the video frame to accommodate different resolution requirements. For instance, taking a 4K stream and scaling it down to 1080p would be an example of transizing. This would also result in bitrate reductions, which is why overlap between all of these terms is common.

So why do we need the extra step of transcoding, when many of these processes could be accomplished during encoding? It comes down to efficiency and scalability. 

Most content distributors prefer to encode a master file (or mezzanine file) up front and then rework it as needed. The purpose of a mezzanine file is to provide a high-fidelity source for generating different versions of the content optimized for specific delivery platforms or devices. Mezzanine files serve as the basis for creating multiple versions with different bitrates, resolutions, or codecs for large-scale distribution. Transcoding also enables broadcasters to tackle the more computationally-intensive tasks in the cloud rather than doing all of their video processing on premises.

Live Encoder Workflow

Transcoding can be done using an encoding solution like Bitmovin, a streaming platform like YouTube that has transcoding technology built into its infrastructure, or an on-premises streaming server. 

Video encoding vs. transcoding: What’s the difference?

The terms transcoding and encoding are often conflated. We’ve even used the two interchangeably here at Bitmovin. But the primary differences are as follows:

  • Encoding is an analog-to-digital conversion; transcoding is a digital-to-digital conversion
  • Encoding is necessary to stream video content; transcoding isn’t always required.
  • Encoding occurs directly after video content is captured; transcoding doesn’t occur until later when the content has been transmitted to a streaming server or cloud-based service.

To reuse an analogy from a previous post, the difference between encoding and transcoding is similar to the way crude oil is processed in the gasoline supply chain:

  1. First, crude oil is extracted from underground reservoirs. This crude oil can be thought of as the RAW video source itself.
  2. Next, the crude oil is refined into gasoline for bulk transport via pipelines and barges. This is the encoding stage, where the video source is distilled to its essence for efficient transmission.
  3. Finally, the gasoline is blended with ethanol and distributed to multiple destinations via tanker trucks. This represents the transcoding step, where the content is altered and packaged for end-user delivery.

Live transcoding vs. VOD transcoding

Another reason for the overlap in the usage of these two terms has to do with the nuance between live and video-on-demand (VOD) transcoding. 

VOD transcoding involves processing pre-existing video files — such as movies, TV shows, or recorded events — and transforming them into suitable formats and bitrates for efficient storage and delivery. This type of video processing can be performed at any time, independently of the actual playback, allowing for more extensive processing and optimization. 

Live transcoding, on the other hand, involves processing live data that’s in flight. It occurs immediately after the video is captured and moments before the video is viewed. Timing is everything in live streaming workflows, and all of the steps must take place in concert. For this reason, the nuance between ‘encoding’ and ‘transcoding’ is more pronounced when discussing live streaming workflows.

How is video transcoded?

Video transcoding is a multi-step process:

  1. Decoding: The encoded stream is decoded using the video codec.
  2. Processing: The uncompressed video file is edited and processed if needed. This can include resizing to different resolutions, changing the aspect ratio, adjusting the frame rate, or applying video effects.
  3. Encoding: The altered video is re-encoded, potentially using different settings and/or codecs than those with which it was initially encoded.
  4. Packaging: The transcoded stream is then packaged in a container format suitable for storage or delivery. The container format encapsulates the encoded video and audio streams along with necessary metadata, synchronization information, subtitles, and other supplemental data.

As mentioned above, this resource-intensive process requires significant computational power and time. For this reason, it’s important to consider your existing resources and where you want to tackle this part of the video streaming pipeline.

Where is video transcoding deployed?

Transcoders come in two flavors: on-premises transcoding servers or cloud-based services like Bitmovin. Here’s a look at the different deployment models we see developers using.

On-premises transcoding

Some video publishers choose to purchase transcoding servers or deploy transcoding software in their on-premises environments. This route puts the onus on them to set up and maintain equipment — yielding additional security but also requiring more legwork to architect the streaming workflow across multiple vendors. On-premises transcoding is only a viable option for organizations with enough resources to manage every aspect of their technology stack. 

When going with on-premises deployment, you’ll want to overprovision computing resources to prepare for any unpredictable spikes in viewership. Many companies that experienced surging demand during the pandemic switched to cloud-based transcoding solutions for this reason.

Lift-and-shift cloud transcoding

Some content distributors host their transcoding software in the cloud via a lift-and-shift model. This occurs when organizations rehost their streaming infrastructure in a public or private cloud platform without optimizing their applications for the new environment. Although lift-and-shift deployments ease the burden of equipment maintenance and improve scalability, they fail to fully deliver on the promise of the cloud. 

Cloud-native transcoding

“Cloud native” describes any applications that take full advantage of cloud computing. This can be delivered via software as a services (SaaS) offerings like the Bitmovin aVideo Encoder or it can be built in house.With cloud-native transcoding, developers benefit from the most flexible and scalable streaming infrastructure possible. This is the most cost- and energy-efficient of all three deployment models, making it a more sustainable approach to streaming.

According to Amazon Web Services (AWS):

“Cloud native is the software approach of building, deploying, and managing modern applications in cloud computing environments. Modern companies want to build highly scalable, flexible, and resilient applications that they can update quickly to meet customer demands. To do so, they use modern tools and techniques that inherently support application development on cloud infrastructure. These cloud-based technologies allow for quick and frequent changes to applications with no impact on service, giving companies an advantage.”

Source: Amazon Web Services (AWS)

Beyond offering lower capital expenditures for hardware, software, and operating costs, cloud-native transcoding makes it easy to scale. Video encoding expert Jan Ozer weighs in:

“Two types of companies should consider building their own encoding facilities. At the top end are companies like Netflix, YouTube, and others, for which the ability to encode at high quality, high capacity, or both delivers a clear, competitive advantage. These companies have and need to continue to innovate on the encoding front, and you can do that best if you control the entire pipeline.

At the other end are small companies with relatively straightforward needs, in which anyone with a little time on their hands can create a script for encoding and packaging files for distribution… Otherwise, for high-volume and/or complex needs, you’re almost always better off going with a commercial software program or cloud encoder.”

Source: Jan Ozer

It’s worth adding that with cloud-based deployment, you’ll never have to worry about peaks and valleys in usage or spinning up new servers. Instead, you can offload management duties and maintenance costs to your service provider while benefiting from the built-in redundancy and limitless flexibility of the cloud.


Bitmovin’s solution is based on Kubernetes and Docker to deliver on the cloud’s promise of infinite scalability and flexibility. It can be deployed in customer-owned accounts or as a managed SaaS solution using AWS, Azure, and/or Google Cloud Platform.


Considerations when architecting your encoding pipeline

When architecting the encoding pipeline of your digital video infrastructure, you’ll want to consider your requirements:

  • Format and codec support: Verify that the products and services you select can support the input and output formats required.
  • Output quality: Look for solutions that offer high-quality encoding with minimal loss or degradation. Consider factors such as bitrate control, support for advanced video codecs (e.g., H.264, HEVC), and the ability to handle various resolutions and frame rates.
  • Scalability and performance: Confirm that your encoding and transcoding solution can efficiently handle the scale of your broadcasts. Cloud-based solutions offer an advantage here.
  • Security and content protection: If you’re broadcasting sensitive or copyrighted content, you’ll want to look for digital rights management (DRM) support, watermarking, encryption, and the like.
  • APIs and integration: Look for solutions that offer comprehensive API documentation, SDKs, and support for popular programming languages to ensure seamless integration with your existing workflows. 
  • Per-title encoding: Make sure the encoding/transcoding solution you choose offers per-title capabilities — meaning that the encoding ladder is customized to the complexity of each video. With per-title encoding, you’re able to combine high-quality viewing experiences with efficient data usage by automatically analyzing and optimizing the adaptive bitrate ladder on a case-by-case basis.  After all, each video file is unique. So you risk wasting bandwidth or compromising quality without per-title encoding. 

Top encoding software and hardware

In our recent guide to the 20 Best Live Streaming Encoders, we compared the industry-leading software and hardware encoding solutions.

OBS, Wirecast, and vMix are the most popular options on the software front. These solutions range from free to upwards of a thousand dollars (for a lifetime license). 

A much broader selection of hardware encoders are available, with many being designed for specific use cases like enterprise collaboration or remote live video production. They can range from specialized component tools to out-of-the-box studio production kits. And while many hardware encoders help integrate all of your equipment into a full-functioning studio, you’ll want to ensure that the appliance you choose is compatible with your current gear. 

Software Encoders

  1. OBS: Free, open-source encoding software for Windows, Mac, and Linux.
  2. Wirecast: Highly customizable professional encoding software for Mac and Windows. 
  3. VMix: Easy-to-use encoding software for Windows only. 

Hardware Encoders

  1. Videon EdgeCaster EZ Encoder: Portable encoding appliance with cloud functionality, as well as both 4K and ultra-low-latency support. 
  2. AJA HELO Plus: Compact live streaming encoder with support for SRT contribution.
  3. Matrox Monarch HD: Rack-mountable encoding appliance that supports simultaneous recording.
  4. Osprey Talon 4K: Purpose-built 4K encoding with broad protocol support. 
  5. VCS NSCaster-X1: Encoding touchscreen tablet that acts as a complete live production system. 
  6. Haivision Makito X and X4: Award-winning encoder that ensures reliable low-latency streaming with SRT video contribution.
  7. TASCAM VS-R264: No-frills live streaming encoder designed for YouTube streaming.
  8. Datavideo NVS-40: Multi-channel streaming encoder that can be used for end-user delivery via HLS.
  9. Magwell Ultra Encode: Affordable and complete encoding appliance for video production, contribution, and monitoring.
  10. Blackmagic ATEM Mini: Affordable and portable option for on-the-go encoding and multi-camera setups.
  11. Black Box HDMI-over-IP H.264 Encoder: Straightforward H.264 encoder for delivering media over IP networks.
  12. Orivision H.265 1080p HDMI Encoder: Low-cost option for remote video transmission with support for SRT, HLS, and more. 
  13. Axis: M71 Video Encoder: IP-based video surveillance encoder with PTZ controls and built-in analytics.
  14. LiveU Solo: Portable appliance built to deliver reliable 4K video over bonded 4G and 5G.
  15. YoloLive: One-stop encoder, video switcher, recorder, and monitor that eliminates the need for additional equipment.
  16. Pearl Nano: Live video production hardware designed for small-scale events.
  17. Kiloview Encoders: Affordable H.264 encoder with support for SRT, HLS, and Onvif. 

Check out the full comparison here for a deep dive into each option. 

Top transcoding services

When it comes to transcoding, there are also a handful of open-source and free software options. These include:

  1. FFmpeg: A free command tool for converting streaming video and audio.
  2. HandBrake: Another transcoder originally designed for ripping DVDs.
  3. VLC media player: A media player that supports video transcoding across various protocols.

For professional large-scale broadcasting, though, we’d recommend using a cloud-based streaming service. You’ll want to search for something that offers the security capabilities, APIs, per-title capabilities, and codec support required for large-scale video distribution.

Robust solutions like Bitmovin integrate powerful features at every workflow stage and can be used for both live and VOD streaming. This means you’re able to simplify your video infrastructure without compromising quality and efficiency.

We mention this because even the most simplistic streaming workflows include four distinct steps:

  1. Video source or origin: Whether your source is a live camera or a cloud storage solution that houses your input files, the video origin is where it all begins.
  2. Encoding pipeline: The encoding pipeline comprises all of your encoding and transcoding systems, hardware, and software. For complex live streaming workflows, this often includes a blend of software and hardware encoding technologies, as well as a cloud-based transcoding service like Bitmovin.
  3. Content delivery network (CDN): These systems of geographically distributed servers are essential when delivering content to large global audiences, ensuring that the video is retrieved when your viewers push play.
  4. HTML5 Player: Players refer to the media software application that allows viewers to watch streaming content online without additional plugins. These ensure video compatibility across various browsers, operating systems, and devices. They also provide standard playback control, captions, and dynamic switching between ABR renditions.

Security, analytics, and other needs often further complicate these pipelines. For that reason, you’ll want to approach the entire workflow holistically, and look for solutions that can be easily integrated with others or consolidate multiple steps into a single solution. 

We launched Streams in 2022 to help simplify streaming, which serves as a single platform for transcoding, CDN delivery, video playback, analytics, security, and more. This type of solution doesn’t compare apples-to-apples with standalone transcoders like FFmpeg — and that’s by design. As an all-in-one solution that’s built for the cloud, it eliminates the complexity of building your streaming infrastructure in-house. 

Best video codecs

Once you’ve landed on your encoding and transcoding solutions, you’ll want to consider which video codecs are best suited for your use case. Most video developers use a variety of codecs to ensure compatibility across devices while also benefiting from the improvements in compression efficiency and quality offered by next-generation technologies.

In our annual Video Developer Report, we consistently see six codecs playing a role in both live and VOD streaming workflows.

- Bitmovin
VOD Encoding
Live - video encoding
Live Encoding

H.264/AVC

The majority of digital video takes the form of H.264/AVC (Advanced Video Coding) because it’s unparalleled in terms of device reach. As an efficient and well-supported compression technology, it lends especially well to low-latency workflows.

H.265/HEVC

HEVC encoding has been on the rise — a trend that we expect will continue since Google added support in Chrome late last year. It’s poised to become a common technology for browser-based video streaming as well as premium OTT content delivery to living room devices.

H.266/VVC

As one of the newest video codecs out there, VVC (Versatile Video Coding) usage has been lagging due to limited playback implementations from device makers. That’s all changing in 2023 (with LG’s 8K smart TVs already adding support), making VVC a good candidate for 8K and immersive 360° video content.

AV1

This open-source, royalty-free alternative to HEVC was created by the Alliance for Open Media, made up of Amazon, Netflix, Google, Microsoft, Cisco, and — of course — Bitmovin. It’s 30% more efficient than HEVC and VP9, which drastically cuts bandwidth and delivery costs. 

VP8

The VP8 codec is another open and royalty-free compression format that’s used primarily for WebRTC streaming. Many developers architecting WebRTC workflows are shifting their focus to VP8, so we anticipate a gradual decline in the coming years.

VP9

VP9 is a well-supported video codec that’s suitable for both low-latency streaming and 4K. More than 90% of Chrome-encoded WebRTC videos take the form of VP9 or its predecessor VP8, and top TV brands like Samsung, Sony, LG, and Roku also support it. 

We’ve been monitoring the adoption of these codecs for six years running by surveying video developers across the globe. Our CEO Stefan Lederer summarized this year’s findings as follows:

- Bitmovin

“H.264 remains the most popular codec among video developers, which is likely due to its more widespread browser and device support. Yet, when we look at the codecs developers plan to use in the short-term future, H.265/HEVC and AV1 are the two most popular codecs for live and VOD encoding. Personally, I am particularly excited to see the growing popularity of AV1, which has been boosted by more companies introducing support for it.”

– Stefan Lederer (CEO, Bitmovin)

Source: Video Developer Report

The good news is that Bitmovin’s transcoding service supports all of these codecs — giving you the flexibility to pick and choose based on your needs. We’re also committed to driving cutting-edge encoding technologies forward, so that our customers can adapt as the industry evolves.

Video quality vs. video resolution

High-resolution streams are often high-quality streams, but it’s not a guarantee. That’s because video quality is determined by several other factors such as frame rate, buffering, and pixelation. 

Here’s how the two compare:

Resolution

Resolution describes the number of pixels displayed on a screen. The more pixels there are, the more stunning and crisp the picture. Nearly 4,000 pixels go across the width of a screen displaying 4K video, whereas 1080 pixels fit horizontally across a screen displaying 1080p content. Think of it as the difference between a paint-by-number kit and the original masterpiece you’re trying to recreate. Using more pixels allows the encoded file to maintain more detail in each individual frame. 

Video quality

Video quality is a broader and less scientific measurement. It’s impacted by the resolution, for sure, as well as the frame rate, keyframe interval, audio quality, color accuracy, and more. Remember that Game of Thrones episode that was too dark for fans to make out what was happening? The episode’s cinematographer Fabian Wagner said that HBO’s compression technology was to blame for the pixelation and muddy colors. In this case, even 8K streams of the episode wouldn’t have yielded improvements in video quality.

TL;DR: When it comes down to it, video quality is subjective and can be influenced by a multitude of factors; whereas video resolution is a cut-and-dry measurement of the number of pixels displayed.

What is adaptive bitrate streaming?

The majority of video traffic today is delivered via adaptive bitrate streaming. If you’ve ever noticed a digital video change from fuzzy to sharp in a matter of seconds, you’re familiar with how it works.

Called ABR for short, adaptive bitrate streaming provides the best video quality and experience possible — no matter the connection, software, or device. It does so by enabling video streams to dynamically adapt to the screen and internet speed of each individual viewer.

adaptive bitrate video encoding

Broadcasters distributing content via ABR use transcoding solutions like Bitmovin to create multiple renditions of each stream. These renditions fall on an encoding ladder, with high-bitrate, high-resolution streams at the top for viewers with high-tech setups, and low-quality, low-resolution encodings at the bottom for viewers with small screens and poor service.

The transcoder breaks each of these renditions into chunks that are approximately 4 seconds in length, which allows the player to dynamically shift between the different chunks depending on available resources.

The video player can then use whichever rendition is best suited for its display, processing power, and connectivity. Even better, if the viewer’s power and connectivity change mid-stream, the video automatically adjusts to another step on the ladder.

How to do multi-bitrate video encoding with Bitmovin

Encoding (or transcoding) your streams into a multi-bitrate ladder is required for ABR delivery. In some cases, this can be done as the RAW file is being encoded, but many broadcasters and video engineers opt to transcode the content into multiple bitrate options later in the video workflow. For this, you’ll need a live or VOD transcoding solution like Bitmovin.

Multi-bitrate video encoding, a.k.a. adaptive bitrate streaming, comes standard when processing videos with Bitmovin. Our platform can also easily be configured for per-title encoding using the Per-Title Template

Here’s a look at the steps involved:

  1. Create an encoding in our API using version v1.53.0 or higher.
  2. Add a stream or codec configuration by providing information about which video stream of your input file will be used. 
  3. Add muxings by defining the desired output format (whether fragmented MP4, MPEG-TS, etc.), as well as the segment length, streams to be used, and outputs. 
  4. Start the per-title encoding using the start Encoding API call. This can be configured for standard, two-pass, or three-pass encoding to achieve desired quality and bandwidth savings.

Get the full tutorial here.


Per-Title automatically prepares content for adaptive streaming in the most optimal way. Use our Per-Title Encoding Tool (Bitmovin login required) with your own content to get a good overview of what Per-Title can do for you.


Common video encoding challenges

Ensuring playback support for the codecs you’re using

As shown in Jan Ozer’s Codec Compatibility chart below, different codecs are compatible with different devices. If you’re only encoding content for playback on iOS devices and Smart TVs, for instance, AV1 wouldn’t be the right fit. This is why it’s useful to leverage a video infrastructure solution like Bitmovin that can provide insight into which codecs are compatible with your viewers’ devices using analytics.

Codec CompatibilityBrowserMobileSmart TV/OTT
H.264Virtually allAllAll
VP9Virtually allAndroid, iOSMost
HEVCVery littleAndroid, iOSAll
AV1Edge, Firefox, Chrome, OperaAndroidNascent

Solving for limited user bandwidth

Today’s viewers expect the same video experience on their mobile devices as they do on their Ethernet-connected Smart TVs. Adaptive bitrate delivery is crucial, with technologies like per-title encoding yielding additional opportunities to reduce bandwidth while still exceeding your audience’s expectations. 

Justifying the costs of next-gen codecs

Emerging codecs are often computationally intensive (and expensive) to encode in real time. For this reason, you’ll want to make sure that a given video asset is worth this investment. While viral content will benefit from more advanced and efficient codecs, standard assets don’t always warrant this level of tech. A great way to weigh the benefits is by using analytics to determine what devices your audience is using, how many people are tuning in, and how your video performance compares to industry benchmarks. Another way, in respect to the AV1 codec is to use our break even calculator to estimate the number of views it takes to justify the cost of using AV1 in addition to H.264 or H.265.

Ensuring low latency for live broadcasts

Many live and interactive broadcasts like live sports, e-commerce, online learning, and esports require sub-ten second delivery. For these, you’ll want to use a video codec like H.264 that’s optimized for low-latency streaming. We’d also recommend finding a live transcoding solution that accepts emerging low-latency protocols like SRT and RIST.

Streaming video encoding glossary

Application-Specific Integrated Circuits (ASICs)

ASICS for video encoding are purpose-built video processing circuits designed to optimize performance, power consumption, and costs. Because they are manufactured for the specific application of video encoding and transcoding, ASICs can achieve high throughput and superior performance compared to general-purpose processors like CPUs and GPUs.

Bitrate

Bitrate refers to the amount of data transmitted in a given amount of time, measured in bits per second (bps). Higher bitrate streams include more data in the form of pixels, frames, and the like — resulting in higher quality. That said, they require more bandwidth for transmission and storage. On the other end of the spectrum, low-bitrate streams can be more easily viewed by users with poor internet connections, but quality suffers as a result of greater file compression.

Frame rate

Frame rate refers to the number of individual frames displayed in a video, measured in frames per second (fps). This determines the temporal smoothness and fluidity of motion in a video. Higher frame rate results in smoother motion, while lower frame rates introduce perceived choppiness or jerkiness. Common frame rates in video production and streaming include 24 fps (film standard), 30 fps (broadcast standard), and 60 fps (smooth motion and gaming). The appropriate frame rate selection depends on the content type, target platform, and desired viewing experience.

Graphic Processing Units (GPUs)

GPUs are hardware components designed to handle complex graphics computations and parallel processing tasks. Originally developed for accelerating graphics rendering in gaming and multimedia applications, GPUs have evolved into powerful processors capable of performing general-purpose computing tasks. They consist of thousands of cores that can execute multiple instructions simultaneously, making them highly efficient for parallelizable workloads. GPU-based video encoding solutions are both flexible and widely available, but they aren’t as specialized as application-specific integrated circuits (ASICs), defined above.

Group of pictures (GOP)

Also called the keyframe interval, a GOP is the distance between two keyframes measured by the total number of frames it contains. A shorter GOP means more frequent keyframes, which can enhance quality for fast-paced scenes but will result in a larger file size. A longer GOP means there are fewer keyframes in the encoding, which leads to encoding efficiency and decreased file size but could degrade video quality. Another consideration in determining the keyframe interval is the tendency for users to skip ahead or back to random points in a video. Shorter GOPs place more keyframes throughout the video to support viewing from these random access points.

Metadata

Metadata refers to descriptive or structural information that provides additional context and details about a piece of data. In the context of video streaming, metadata refers to the supplementary information about the content, such as title, description, duration, resolution, language, genre, release date, and more. Metadata can also include technical information like encoding settings, aspect ratio, and audio format. Metadata is essential for content organization, searchability, and providing an enhanced user experience. It’s typically embedded within the video file or delivered alongside the streaming data in a standardized format, allowing for easy retrieval and interpretation by video players, search engines, and content management systems.

MKV

Matroska Video, or MKV, is a popular open-source multimedia format that can store an unlimited amount of video, audio, picture, and subtitle tracks in a single file It’s also flexible in its support for codecs, accepting H.264, VP9, AV1, and more. As such, it’s a popular format for video distribution and digital archiving.

MPEG-4

Short for Moving Picture Experts Group-4, MPEG-4 is a group of video compression standards developed by the International Organization for Standardization (ISO). Several codecs implement this standard, including H.264/AVC and AAC.

Video file

A video file, also called a video container, is a self-contained unit that holds the compressed video and audio content, as well as supporting metadata. These come in different formats, including MP4, MOV, AVI, FLV, and more. Different file formats accept different codecs and play back on different devices.

WebM

WebM is an open, royalty-free multimedia container format developed to provide a high-quality alternative to proprietary video formats. Google, Mozilla, and other leading companies developed this format, which utilizes VP8 or VP9 video codecs.

Video encoding FAQs

Does video encoding affect quality?

Yes and no. While an encoded video will always be of lower quality than the RAW file, today’s codecs are advanced enough to reduce the amount of data included without degrading quality in a way that viewers would notice. 

Why do I need to encode a video?

No matter the industry or use case, encoding is a key step in the video delivery chain. It prepares the video for digital distribution and compresses the data into a more manageable size. It’s always taking place in the background for UGC applications like streaming to Twitch. And by using a professional hardware or software solution, broadcasters can tap into additional functionality. 

What’s the difference between encoding with GPUs vs ASICs?

Encoding with GPUs involves different hardware architectures and approaches than encoding with ASiCs. While GPUs are programmable and versatile across applications, ASICs are purpose-built for specific tasks. This makes them expensive and less accessible. Currently, only companies like Facebook and Google as using ASICs for encoding, which provides fast turnaround times and better encoding capacity.

Why do I need to transcode a video?

If you’re serious about scaling your broadcasts to reach viewers on any device and connection speed, transcoding is vital. Most encoders support contribution protocols like RTMP and RTSP. While these protocols work great for video transmission, they’re ill-suited for end-user delivery and aren’t even supported on most viewer devices. You’ll want to transcode your videos into adaptive bitrate HLS or DASH to ensure that your stream reaches viewers and delivers the best experience possible. 

How much does video encoding and transcoding cost?

True video encoding (meaning contribution encoding software and hardware) can range from cheap to expensive. And while software options like OBS are technically free, they have hidden costs associated with the computing equipment on which they’re deployed. Hardware encoders are more costly, but affordable options like the Blackmagic ATEM Mini Pro (a $295 piece of equipment) are also available. 

When it comes to transcoding, you’ll want to consider both storage and egress costs to calculate the total cost of ownership (TCO). When using Bitmovin’s all-in-one platform, pricing is based on a simple fee per minute of video in each output, with rates depending on the features used. These include the chosen resolution, codecs, and use of multi-pass encoding. Our pricing can be offered as both pay-as-you-go or as a custom plan. Learn more here.

How is video encoding different from video compression?

Video encoding always involves compression, but video compression doesn’t always involve encoding. Rather, video encoding is one version of compression that involves converting RAW video data into a condensed format using video and audio codecs. Video compression can also take place during transcoding or even by compressing an MP4 on your hard drive into a lossless ZIP file.

What are the best encoding settings for quality?

The right encoding settings will always depend on your specific use case. For instance, action-packed streams of sporting events require a shorter keyframe interval than videos depicting static scenes such as talk shows. Similarly, a low frame rate works fine for surveillance footage, but wouldn’t be the right fit for sporting events. 

You’ll want to strike a balance between quality and efficiency by avoiding unnecessarily high bitrates and overly complex codecs. Encoding expert Jan Ozer recommends the following:

“When you upload a file to an online video platform (OVP) or user-generated content (UGC) site, the mezzanine file you create will be transcoded into multiple ABR rungs. Given that video is a garbage-in/worse-garbage-out medium, the inclination is to encode at as high a data rate as possible. However, higher data rates increase upload time and the risk of upload failure.

It turns out that encoding a 1080p30 file above 10 Mbps delivers very little additional quality and that ProRes output may actually reduce quality as compared to a 100 Mbps H.264-encoded file.”

Source: Jan Ozer

What is the most effective way to encode/transcode a large volume of videos?

Cloud-based platforms like Bitmovin make it simple to transcode a large volume of videos with scalable, on-demand resources that can process multiple videos simultaneously. Streaming APIs and tools for integration also make it easy to automate your encoding workflow and streamline efficiencies.

What is per-title encoding?

Per-title encoding customizes the bitrate ladder of each encoded video based on complexity. This allows content distributors to find the sweet spot by dynamically identifying a bitrate that captures all of the information required to deliver a perfect viewing experience, without wasting bandwidth with unnecessary data. Rather than relying on predetermined bitrate ladders that aren’t the right fit for every type of content, per-title encoding ensures that resources are used efficiently by tailoring the encoding settings on a per-video basis.

What is H.264 video encoding?

Also referred to as Advanced Video Coding, H.264/AVC is a widely supported codec with significant penetration into streaming, cable broadcasting, and even Blu-ray disks. It plays on virtually any device and delivers quality video streams, but is gradually declining in usage due to more advanced alternatives like H.265/HEVC and AV1. We cover all of the popular encoding formats in more detail in our annual Video Developer Report.

Conclusion

Thanks to video encoding and transcoding technologies, today’s viewers have access to anywhere, anytime content delivered in a digital format. The ability to compress streaming data for efficient delivery  (without sacrificing quality) is key to staying competitive in the online video market. And for that, you need to architect your video workflow using the right technologies.

Once you’ve mastered everything that goes into encoding, the next step is finding a video processing platform for multi-device delivery and transcoding. At Bitmovin, we deliver video infrastructure to broadcasters building world-class video platforms. Our live and VOD platforms can ingest streams from any of the encoders detailed above and output HLS and DASH for delivery to streaming services and end users.  

Find out how you can achieve the highest quality of experience on the market and deliver unbreakable streams. Get started with a free trial today or reach out to our team of experts

As always, we’re here to help you navigate the complex world of streaming and simplify your workflow.

The post Video Encoding: The Big Streaming Technology Guide [2023] appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/video-encoding-guide/feed/ 0
From Workouts to Wellness: Navigating the 5 Main Challenges of Health and Fitness Video Streaming Workflows https://bitmovin.com/blog/health-fitness-video-streaming-challenges/ https://bitmovin.com/blog/health-fitness-video-streaming-challenges/#respond Thu, 29 Jun 2023 13:55:15 +0000 https://bitmovin.com/?p=263443 Video streaming has emerged as a powerful tool in health and fitness, enabling platforms to engage with individuals looking to achieve their health and wellness goals wherever they are. Whether in the comfort of their homes, on the go, or gathered in groups at physical locations around the globe, video streaming unlocks a new world...

The post From Workouts to Wellness: Navigating the 5 Main Challenges of Health and Fitness Video Streaming Workflows appeared first on Bitmovin.

]]>
Video streaming has emerged as a powerful tool in health and fitness, enabling platforms to engage with individuals looking to achieve their health and wellness goals wherever they are. Whether in the comfort of their homes, on the go, or gathered in groups at physical locations around the globe, video streaming unlocks a new world of possibilities for people looking to get in shape. However, ensuring a seamless and captivating user experience can create unique challenges for platforms and service providers.

In this blog, we will explore the main hurdles health and fitness video streaming platforms encounter and discuss potential solutions for each.

1. Video Encoding and Transcoding: Achieving Compatibility and Efficiency

To make content playable and support different device screen sizes and network capabilities, efficient video encoding and transcoding solutions are necessary. By not implementing a correct encoding ladder optimized for every major device, the viewing experience can be significantly limited, giving your users a bad experience and possibly forcing them to churn. This is why utilizing a strong encoding solution such as Bitmovin’s Video On-Demand (VOD) Encoder benefits you greatly by ensuring your users have a smooth and consistent viewing experience. You can optimize VOD Encoder settings for your content through Per-Title Encoding, which plays a vital role by dynamically adjusting encoding parameters for each video, maximizing quality and bandwidth efficiency. With Bitmovin’s industry-leading Per-Title algorithm, you can deliver superior video quality while reducing storage and delivery costs. 

Check out our whitepaper on Per-Title Encoding technology to learn more about the benefits of Per-Title optimization.
When it comes to live streaming, one of the primary challenges is ensuring the stability of the stream. This requires a robust internet connection and a reliable streaming solution that can minimize disruptions and buffering during live broadcasts. By leveraging a reliable encoder, such as Bitmovin’s Live Event Encoder, that supports multiple codecs like H.264, H.265 (HEVC) and VP9 and protocols like RTMP, SRT and Zixi, you can minimize the bitrate needed for playback, optimizing bandwidth usage and improving stream stability. This benefits viewers with slower internet connections, ensuring a smooth and uninterrupted streaming experience.

- Bitmovin

2. Device support, ABR streaming, and a customizable Player: Personalized Experiences for Every User

When delivering smooth and personalized streaming experiences to your users, providing broad device support, adaptive bitrate streaming, and a customizable player are essential for you and your development team. Utilizing an open-source player in this regard can be good for select device types and platforms, but it won’t be able to cover every major device in use. You can maximize your reach and engage with a larger audience by ensuring compatibility across a wide range of devices. The player must also be able to adapt to the user’s available bandwidth to guarantee they can still stream the video in the highest possible quality, which isn’t automatically built into every player option out there. Additionally, having a customizable player skin to personalize the viewing experience goes a long way with users, pushing them to engage more with the current content.

As all of these are essential functionalities, having a single video player solution that supports various platforms and devices with ABR and other capabilities helps simplify the development process and gives you more control over how users experience and engage with your content. This is where Bitmovin’s video Player stands out, as you can seamlessly deliver your health and fitness videos across web browsers, mobile devices, smart TVs, Set-top boxes, and other popular platforms while ensuring the best viewing experience. This full feature set and broad device support eliminate the need for separate player implementations and streamline your development efforts.

- Bitmovin

3. Live-to-VOD: Increasing the lifespan and expanding access to content

Health and fitness platforms often stream live workout and wellness sessions, events, and classes. Depending on the workflow, not converting these live streams into on-demand video wastes the potential value of this content, as it gives your users more video to engage with at their convenience. By utilizing a tool that enables live-to-VOD, such as the encoding solutions provided by Bitmovin, platforms can automate capturing, encoding, and storing live streams for on-demand use. This functionality helps improve user satisfaction and increase content views, while maximizing the ROI of your live stream production. It also enables them to revisit past sessions, catch up on missed classes, and follow their fitness and wellness journey at their own pace.

4. Analytics and Viewer Insights: Understanding User Engagement

Analytics and viewer insights are vital for every health and fitness platform so they can maximize user engagement and content performance. With the right insights being tracked, you and your team may be aware of performance issues, buffering problems, or other technical issues that impact the viewing experience. Furthermore, you may face challenges in understanding your user’s behavior, how they are viewing your content, and how your ads are working if you’re utilizing them within your workflow.

A comprehensive metrics offering such as Bitmovin’s Analytics is essential as it enables you to overcome these challenges. Bitmovin’s solution provides over 200 metrics and filters, real-time monitoring, and actionable insights that empower you to optimize your content strategy, address technical issues promptly, and deliver a superior streaming experience. This data-driven approach enables you to maximize user engagement, enhance customer satisfaction, and stay ahead in the competitive health and fitness streaming landscape.

5. Ease-of-use and scalability: Simplifying Development and Accommodating Growth

The last main challenge on my list is simplifying the deployment process and ensuring scalability. This is crucial for every health and fitness platform, as when implementing a video streaming solution, it’s essential to optimize the development team’s time by prioritizing ease-of-use to help streamline the integration and setup of each part within the workflow. Implementing the wrong piece can increase your encoding time, make content harder to access, and even increase buffer times on your video player if it’s too heavy. It can also force you to forego supporting new devices if technical expertise becomes an issue.

Opting for solutions that offer user-friendly interfaces, comprehensive documentation and guides for API usage, and robust support, such as Bitmovin’s Streams solution and other video streaming technology, ensures development teams aren’t breaking their backs to get up and streaming. Additionally, depending on the framework choice, such as React/React Native or Flutter, smaller teams or ones with less video streaming expertise can maximize their code usage by utilizing what they’ve deployed across the web and use it across additional platforms/device types, enabling them to support more devices and easily customize each aspect without needing to know certain frameworks.

Furthermore, scalability becomes a key consideration as the platform grows and user demand increases. The chosen video streaming solution should provide flexible scaling capabilities, such as being cloud-native, allowing the platform to accommodate a growing content library and many concurrent viewers. This guarantees the platform can seamlessly meet workflow needs and user demands, even during peak usage periods, providing a smooth, consistent, and uninterrupted viewing experience.

In Conclusion

As you can tell from the 5 main points above, health and fitness streaming platforms face unique challenges in delivering seamless experiences. Bitmovin’s solutions for video encoding, live streaming, Player, and analytics provide essential tools to overcome these challenges and help simplify and scale streaming workflows. With efficient on-demand and live encoding, broad device support with ABR and customizable player interfaces, live-to-VOD functionality, and comprehensive analytics, platforms can optimize user engagement, make development easier, and ensure exceptional streaming experiences. With Bitmovin’s technology, you can successfully navigate the complexities of video streaming workflows and deliver high-quality content to your global audience.

If you want to see how Bitmovin’s solutions can help you simplify your existing streaming process or provide an end-to-end workflow to help launch your video streaming platform, sign up for our 30-day free trial to start testing them today (No credit card required)

The post From Workouts to Wellness: Navigating the 5 Main Challenges of Health and Fitness Video Streaming Workflows appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/health-fitness-video-streaming-challenges/feed/ 0
Faith-Based Video Streaming: 4 Major Challenges (and Solutions) for Religious Organizations     https://bitmovin.com/blog/faith-based-video-streaming/ https://bitmovin.com/blog/faith-based-video-streaming/#respond Thu, 01 Jun 2023 16:34:37 +0000 https://bitmovin.com/?p=261520 Religious and faith-based video streaming has gained significant popularity in recent years as a powerful way to connect and engage with a broad global audience. A considerable amount of adoption happened recently when the world was in lockdown and people still wanted to “attend” their house of worship prayers or engage with religious content. However,...

The post <strong>Faith-Based Video Streaming: 4 Major Challenges (and Solutions) for Religious Organizations   </strong>  appeared first on Bitmovin.

]]>
Religious and faith-based video streaming has gained significant popularity in recent years as a powerful way to connect and engage with a broad global audience. A considerable amount of adoption happened recently when the world was in lockdown and people still wanted to “attend” their house of worship prayers or engage with religious content. However, streaming online comes with its own unique set of challenges that need to be addressed to ensure a seamless and enriching streaming experience for viewers. From content hosting and video compression to device support and accessibility, religious video streaming workflows require robust, easy-to-use solutions that are also cost-effective. These challenges affect each and every religious organization, especially when you don’t have an experienced video development team or a hefty budget.

In this blog, we will explore the main challenges faced in religious video streaming workflows and discuss possible solutions for them.

1. File Storage: Local vs. The Cloud

Many religious groups lack the in-house expertise necessary to successfully manage their video content. Many maintain internal networks, which can lead to content silos, making access difficult for team members in different locations. Internal-based systems are more secure but become more costly as content libraries expand and additional hardware is needed, and this doesn’t consider if they would be using a cloud encoder/packager to make their content streamable. This is why cloud-based solutions offer a transformative way to store, manage, and share a vast array of religious video content with your team, no matter where they are located. The cloud provides scalability, ensuring the content library can grow as the organization’s offerings expand.

Cloud environments come with robust security measures to give houses of worship the ability to protect their valuable content while enabling seamless collaboration and integration with other technologies. Depending on their capabilities, they also help you efficiently convert video information into formats and resolutions suited for streaming to empower your content further. This is where cost becomes a factor, as cloud workflows help lower prices dramatically through the integrations they have readily available. Additionally, you don’t always need to have advanced technical knowledge to set it all up, as providers such as Bitmovin have focused on providing solutions that are self-service, easy to use, and can be accessed either through a dashboard UI or API library.

- Bitmovin

Live encoding workflow with Bitmovin

2. Live & On-Demand Encoding: Setting the Right Bitrate

For houses of worship, embracing live and on-demand encoding can bring significant benefits to their streaming endeavors. Encoding is essential as it compresses and reduces the size of video files or live inputs to make them easier to store/stream and take up less space or bandwidth. This differs depending on the workflow for live or on-demand content.

VOD Encoding

For hosted video files, this can be done more efficiently through advanced video compression formats such as H.264, H.265 (HEVC), VP9, and AV1. These formats maintain the quality of the file while lowering the bitrate needed to stream them, meaning less bandwidth is needed to stream the best quality video. The challenge here is that many religious organizations need to encode multiple renditions of their files to cover each device type and available bandwidth scenario. This requires more computational power and storage, which in turn increases costs dramatically. This is where Per-Title encoding is the solution.

Per-Title encoding involves an algorithm that automatically and dynamically adjusts the bitrate based on the complexity of the content being streamed. This means that simple or static scenes may have a lower bitrate, conserving bandwidth, while more complex or dynamic scenes can have a higher bitrate to maintain optimal quality. This adaptive approach ensures that viewers receive the best possible streaming experience regardless of the content’s characteristics. Per-title also helps you save substantially on costs as it minimizes the rendition and encoding effort needed. Find out more on Per-title encoding on our dedicated page.

Live Encoding

Live encoding allows real-time broadcasting of religious services, events, and sermons to remote viewers, enabling them to participate in the worship experience regardless of their physical location. It breaks down the barriers of distance, bringing a sense of community to those who cannot attend in person. However, a couple of the main challenges with live encoding are the stability of the stream and scalability. To keep remote viewers engaged, streams need to stay up and maintain the highest quality of experience for the user. This is where a reliable internet connection plays a big part, along with an encoder that supports the file formats mentioned above, as they help reduce the bitrate needed to playback the live stream. This saves bandwidth for the viewer and improves stream stability, especially for those with slower internet connections.

- Bitmovin

Live encoding workflow with Bitmovin

Additionally, costs and computational power for encoding matter for live streaming, which is why Per-Title will eventually be a major factor and one we talk about in our blog on Per-Title encoding for live streaming.

3. Device Support: Reaching a Larger Audience

The next challenge is related to video playback. The video player is essential for houses of worship as it ensures smooth playback of live or on-demand content on the platforms across every device supported. You should also be able to give users a unique experience by customizing the player interface to align with your faith or religious-based streaming service’s branding, supporting accessibility features and interactive elements for audience engagement, and integrating with analytics platforms to provide insights. There are multiple challenges to ensuring quality playback, and a couple of them are the ability to support more devices and ensure your player adapts to the user’s available bandwidth.

For a house of worship to expand its audience reach and support playback over the web, mobile, smart TVs, and other devices, software development kits are needed. While this can become a bit more technical depending on the devices you’re looking to support, the video player you’re utilizing also must have support for them, as it will help you deploy and deliver a native and seamless experience for the viewers you’re looking to engage. A video player, like Bitmovin’s Player, that covers a large number of devices, is the best solution, as it helps you get set up for the devices you want to stream on while giving you the tools to support more in the future. Additionally, to provide the best user experience while streaming content, the player must constantly monitor the viewer’s streaming environment to adapt to any sudden changes in bandwidth availability. By having the right encoded renditions of your content, your player should be able to handle this with ease.

4. User Experience: Measuring Content Quality

For religious streaming services, knowing how your viewers are engaging with your content is essential to understanding how your streams are doing. By tracking video performance metrics, user engagement, and audience behavior, you can get a complete picture of how your viewers’ experience is and improve the way your content is provided to them. When implementing analytics tools, you should be able to monitor multiple metrics, such as:

Audience metrics 

  • Play attempts, 
  • Unique users, 
  • Concurrent users, 
  • Plays per country, 
  • Plays per device

Quality of experience metrics 

  • Seek events
  • Time of video start
  • Length of video
  • Bitrate
  • Buffering

The challenge with video analytics is making sure you have access to the necessary dimensions that give you the specific, actionable data you need to evaluate and act on. Depending on your setup, analytics will either be included in your end-to-end platform or another tool you can integrate into your streaming workflows, such as Bitmovin’s Streams and Analytics.

In Conclusion

In sum it up, the issues that arise when streaming video to religious and faith-based organizations can be efficiently addressed with the right solutions. The cloud provides scalability, accessibility, and cost efficiency for content hosting and management. A dependable video player improves playing on a variety of devices, while live and on-demand video encoding bitrate optimization guarantees smooth streaming experiences. Understanding how an audience interacts with a video and how to improve streaming techniques is made possible by video analytics. Churches that adopt such technologies will be able to better serve their online followers, grow their communities, and reach more people.

If you want to see how Bitmovin’s solutions can help you simplify your existing streaming workflow or give you the tools to launch your video streaming platform, sign up for our 30-day free trial to start testing them today (No credit card required).

The post <strong>Faith-Based Video Streaming: 4 Major Challenges (and Solutions) for Religious Organizations   </strong>  appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/faith-based-video-streaming/feed/ 0
The 5 Essential Pieces for Every Health and Fitness Streaming Workflow https://bitmovin.com/blog/5-essential-pieces-health-and-fitness-video-workflows/ https://bitmovin.com/blog/5-essential-pieces-health-and-fitness-video-workflows/#respond Thu, 18 May 2023 16:11:20 +0000 https://bitmovin.com/?p=260141 Health and fitness, like every industry, has seen a significant digital transformation in recent years, with the rise of online fitness and wellness platforms, virtual therapeutic and training sessions, and on-demand workout videos. As video is the most widely engaged media type, it has become crucial in helping companies reach a wider audience, connect with...

The post The 5 Essential Pieces for Every Health and Fitness Streaming Workflow appeared first on Bitmovin.

]]>
Health and fitness, like every industry, has seen a significant digital transformation in recent years, with the rise of online fitness and wellness platforms, virtual therapeutic and training sessions, and on-demand workout videos. As video is the most widely engaged media type, it has become crucial in helping companies reach a wider audience, connect with users, and deliver an immersive and engaging experience. However, to ensure they consistently provide the best experience to their users, it depends solely on the streaming workflow they are utilizing. In this blog, I will go into the top 5 essential pieces every platform should use across their streaming workflow and why they are important for quality, retention, and ROI.

Maintaining your video library

When it comes to maintaining video content and having it easily accessible for your team, cloud-based hosting environments are key. They provide your team with a secure environment to house your proprietary video and access the content from anywhere in the world as long as they have access to the internet. Cloud environments eliminate the need for on-premises infrastructure, reducing operation and maintenance costs and increasing scalability as your content library grows. Additionally, depending on your hosting and content management platform, it can be directly integrated with an encoding solution that makes your content quickly available in multiple qualities for streaming over the internet.

The Bitmovin Streams solution enables health and fitness platforms to easily upload and host their health and wellness video content. That content is then encoded to Per-Title presets or customized video qualities and made available to embed directly on your website or application. The entire process is manageable through the UI dashboard and API, making it easy to use.

- Bitmovin

The Bitmovin Streams Workflow

Per-title Video Encoding

As I mentioned before, encoding video content is necessary for streaming over the internet. It prepares the video in the set codec (H.264, H.265/HEVC, VP9, and AV1) and quality (SD, HD, 4K, and 8K) of your choice to ensure compatibility with devices that support video playback. However, encoding can be costly and time-intensive, and depending on how many files you have and the variations of those files you want, it can require a lot of storage. It can also increase streaming costs due to the higher bitrates the traditional encoding process implements. This is where Per-Title comes into play.

Instead of traditional encoding, Per-Title encoding optimizes the encoding settings for each individual video, resulting in superior video quality and reduced file sizes. This matters for industries like fitness and health, as it enables them to save dramatically on storage and CDN delivery costs, as showcased in our case study with Thrive360. It does this by minimizing the storage space needed for each resolution through optimized compression and lowering bitrates for playback while enabling viewers to see a higher-quality video. These benefits are especially true at Bitmovin, where our proprietary Per-Title algorithm can help reduce costs by up to 90%, depending on the content being streamed. Furthermore, with Bitmovin’s VOD Encoder, the turnaround time from encoding content to making it available to be streamed is lightning-fast, meaning you and your users won’t wait.

Event-based Live encoding

For health and fitness platforms that offer live streaming of workouts, classes, and wellness events, event-based live encoding is necessary. It enables these platforms to deliver real-time fitness experiences to their users, cultivating engagement, interactivity, and either a personalized one-on-one lesson or a sense of community. When streaming live, reliability and resilience are essential, which is why having a stable connection and utilizing a trustworthy open-source software or commercial hardware contribution encoder make the difference.

Once your live source is connected to the software or hardware of your choice and is generating the encoded content in a supported protocol (RTMP, RTMPS, SRT, etc.), a live encoder and packager, such as the Bitmovin Live Event Encoder solution, is then needed to make the content available for playback over the internet. Bitmovin’s Live Event Encoder makes it possible for you to input your live content and output multiple renditions, ensuring your content is available to be streamed across any device.

Want more insight on live streaming? Check out our latest blog on the 20 best live streaming encoders.

- Bitmovin

The Bitmovin Live Encoding Workflow

Adaptive bitrate (ABR) streaming and a Custom Player Experience

The video player is the next important piece of the puzzle, as it is how users engage with and experience your brand. Having a player that causes a bad viewing experience (long load times, buffering, etc.) or doesn’t support devices users want to stream content on can cause users to cut ties, which is why the video player is vital. To provide a consistent viewing experience, video players must be able to detect available bandwidth and adapt the bitrate being streamed to ensure users can stream even in low bandwidth environments. This helps users avoid experiencing buffering issues and maintains customer satisfaction as the video continues to play, even at a lower quality, without a drop in the stream flow.

Another major factor for the player is providing a unique experience when streaming. Specifically for health and fitness, having a player with a custom overlay showcasing information about the user’s progress while streaming provides an interactive experience. An example of this can be seen below with Bitmovin’s Video Player. Our robust Player solution gives health and fitness platforms the ability to customize the player skin for users, along with the ability to integrate and enable over 32 other modules such as DRM, ABR, advertising, and more that improve and benefit the streaming experience. Additionally, it is built to allow for the best viewing experience possible, meaning it will detect and adapt to the user’s available bandwidth by providing the highest quality rendition available for them to view.

- Bitmovin

CycleMasters Player skin with Bitmovin. See more in our case study with them.

Quality and Audience Metrics for Video Analytics

The user experience on health and fitness platforms is critical, and quality of experience (QoE) is a part of how that is measured. Many factors affect QoE, such as the application users will access when engaging with your content and the viewing experience that users will have after requesting the content they want to stream. Regarding the streaming portion, accessing metrics that track player performance, video quality, and audience analytics is vital, as it will empower you to understand how your users are experiencing your content. Having the right analytics can make or break your platform, which is why Bitmovin’s Video Analytics is key to helping you analyze your user base and even get as granular as a single user session, giving you a complete picture of how they viewed your content.

Summing it up

Ensuring a high-quality experience in the health and fitness industry is crucial, as it directly impacts your user engagement and keeps your users coming back for more. Each component, including video hosting, encoding, the player, and analytics, is essential and can impact user retention and the overall cost of your streaming workflow, depending on implementation. The right partner matters dramatically, as they can help set you up for success, and that’s precisely what our solutions bring to the table.

If you’re in need of solutions and tools that will take your health and fitness platform to the next level, sign-up for a free 30-day Bitmovin trial today!

The post The 5 Essential Pieces for Every Health and Fitness Streaming Workflow appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/5-essential-pieces-health-and-fitness-video-workflows/feed/ 0
Bringing Per-Title Encoding to Live Streaming Workflows https://bitmovin.com/blog/per-title-encoding-for-live-streaming/ https://bitmovin.com/blog/per-title-encoding-for-live-streaming/#respond Sat, 15 Apr 2023 14:37:36 +0000 https://bitmovin.com/?p=258036 Introduction Bitmovin was born from research performed by our co-founders at Alpen-Adria-Universität Klagenfurt (AAU) and many of the innovations powering our products today are the direct result of the ongoing ATHENA project collaboration between Bitmovin engineers and the Christian Doppler Laboratory at AAU. This post takes a closer look at our recent combined efforts researching...

The post Bringing Per-Title Encoding to Live Streaming Workflows appeared first on Bitmovin.

]]>
Introduction

Bitmovin was born from research performed by our co-founders at Alpen-Adria-Universität Klagenfurt (AAU) and many of the innovations powering our products today are the direct result of the ongoing ATHENA project collaboration between Bitmovin engineers and the Christian Doppler Laboratory at AAU. This post takes a closer look at our recent combined efforts researching the application of real-time quality and efficiency optimizations to live encoding workflows. 

Taking Per-Title Encoding Beyond VOD Workflows

Per-Title encoding is a video encoding technique that involves analyzing and customizing the encoding settings for each individual video, based on its content and complexity. Per-Title Encoding delivers the best possible video quality while minimizing the data required when compared to traditional approaches. This allows content providers to save on bandwidth and storage costs, without impacting the viewing experience. 

Bitmovin’s co-founders have been presenting research on the topic since 2011 and Netflix first used the term ‘Per-Title Encoding’ in 2015, so while it’s not a new concept, until now its benefits have been mostly limited to Video-on-Demand workflows. This is largely because of the increased latency added by the complexity analysis stage, something ATHENA began to address with the open-source Video Complexity Analyzer (VCA) project last year. 

Without the ability to optimize settings in real-time, live encoding workflows have to use a fixed adaptive bitrate ladder for the duration of the stream and providers are left with a choice: Either set the average bitrate you think you’ll need, knowing that periods of high motion are going to end up looking blocky and pixelated OR set the bitrate high enough to handle the peaks, knowing you’re going to be wasting data when there is less motion and visual complexity in the stream. That is, until now…

Per-Title Live Encoding: Bitmovin + ATHENA collaboration

In addition to the VCA project, ATHENA has been researching its potential applications to live streaming, something Hadi Amirpour presented at the 2022 Demuxed conference, in his talk “Live is Life: Per-Title Encoding for Live Video Workflows” which you can watch at this link.

The initial results from the research were promising enough to move into the experimental phase, involving collaboration between ATHENA and Bitmovin’s engineering team to measure the performance and viability of Live Variable Bitrate (VBR) techniques in real-world applications. The proposed approach would involve combining input parameters with real-time extraction of features and complexity in the source video to create a variable, perceptually-aware optimized bitrate ladder. Presented below is a summary of the methodology and results prepared by lead author Vignesh V Menon.

- Bitmovin

Perceptually-Aware Bitrate Ladder

One of the common inefficiencies when using a fixed bitrate ladder is that you often end up with renditions that, to the human eye, have equivalent visual quality. That means some of them will be redundant and ultimately wasting storage space without improving QoE for the viewer. In a perfect world, each ladder rung would provide a perceivable quality improvement over the previous, up to the maximum point our eyes can detect any difference, denoted as Just-Noticeable-Difference (JND). By setting a maximum VMAF quality score and target VMAF score difference between renditions you can create an ideal theoretical bitrate ladder for the best QoE. 

- Bitmovin

The ideal Live VBR bitrate ladder targeted in this paper. The blue line denotes the corresponding rate-distortion (RD) curve, while the red dotted line indicates VMAF = 𝑣𝑚𝑎𝑥. When the VMAF value is greater than 𝑣𝑚𝑎𝑥, the video stream is deemed to be perceptually lossless. 𝑣𝐽 represents the target VMAF difference.

For this project, we experimented with the following input parameters:

  • Set of predefined resolutions
  • Minimum and maximum target bitrates
  • Target VMAF difference between renditions
  • Maximum VMAF of the highest quality rendition

These parameters were then combined with the extracted complexity information to predict and adjust the bitrates necessary to hit the VMAF quality targets. First, based on the pre-configured minimum bitrate, we predict the VMAF score of the lowest quality rung. Next, we use the configured target VMAF difference to determine the VMAF scores of the remaining renditions (up to the max VMAF) and predict the corresponding bitrate-resolution pairs to encode.  We also predict the optimal Constant Rate Factor(CRF) for each of these pairs to ensure maximum compression efficiency given our target bitrate. This further reduces file sizes while delivering higher visual quality compared to our reference HLS bitrate ladder CBR encoding using the x264 AVC encoder.

- Bitmovin
Comparison of RD curves of 3 different videos with varying spatiotemporal complexities using the HLS CBR encoding (green line), and Live VBR encoding (red line). Please note that the target VMAF difference is six in these plots.

Results

The initial results of our Live VBR Per-Title Encoding have been extremely promising, achieving average bitrate savings of between 7.21% and 13.03% while maintaining the same PSNR and VMAF, respectively, compared to the reference HLS bitrate ladder CBR encoding. Even more impressive is that it delivered those improvements without introducing noticeable latency to the streams, thanks to the real-time complexity analysis from ATHENA’s VCA. Furthermore, by eliminating redundant renditions, we’ve seen a 52.59% cumulative decrease in storage space and a 28.78% cumulative decrease in energy consumption*, considering a JND of six VMAF points.

*Energy consumption was estimated using codecarbon on a dual-processor server with Intel Xeon Gold 5218R (80 cores, frequency at 2.10 GHz). The renditions were encoded concurrently to measure the encoding time and energy.

The post Bringing Per-Title Encoding to Live Streaming Workflows appeared first on Bitmovin.

]]>
https://bitmovin.com/blog/per-title-encoding-for-live-streaming/feed/ 0
Cloud-based Per-Title Encoding Workflows (with AWS) – Part 2: Implementing the Encoding Workflow https://bitmovin.com/blog/cloud-based-per-title-encoding-aws-p2/ Tue, 02 Mar 2021 14:30:27 +0000 https://bitmovin.com/?p=159075 Implementing Cloud-Based Per-Title Encoding in the Real World Bitmovin’s gives developers access to industry-leading codecs and advanced encoding algorithms such as Per-Title. As you saw in the first part of this series, Per-Title Encoding allows you to save money on storage and streaming costs while giving viewers the best perceivable quality for their streaming session. In...

The post Cloud-based Per-Title Encoding Workflows (with AWS) – Part 2: Implementing the Encoding Workflow appeared first on Bitmovin.

]]>
- Bitmovin

Implementing Cloud-Based Per-Title Encoding in the Real World

Bitmovin’s gives developers access to industry-leading codecs and advanced encoding algorithms such as Per-Title. As you saw in the first part of this series, Per-Title Encoding allows you to save money on storage and streaming costs while giving viewers the best perceivable quality for their streaming session.
In part one of this three-part series, I outlined a demo application and discussed a practical high-level architecture to deploy Bitmovin’s encoding service into your own AWS account’s infrastructure using Cloud Connect
In the application we’re discussing in this blog, users are able to upload videos to an S3 bucket which triggers a Lambda function. The Lambda, in turn, calls the Bitmovin Encoding API to configure and start encoding. The Bitmovin platform then spins up instances in your AWS account to perform the encoding. On completion, playback information and metadata about the encoding is retrieved, stored, ready to be passed through to a front-end application that will let you watch the encoded asset.
In this second part, I’ll talk more about the implementation details for the encoding workflow. I’ll show you first how to enable and configure Cloud Connect, and then how to set up this AWS-based workflow to trigger Bitmovin encodings. If you want to skip ahead, check out part three of this series: Cloud-Based Workflows with AWS: Plugging in the Video Player and Video Analytics

Enabling Cloud Connect for AWSPer-Title Encoding Workflow on AWS_Flow chart

The Bitmovin Cloud Connect feature essentially allows you to perform encodings on virtual infrastructure inside your own AWS account, without any restrictions on the encoding features, codecs, and algorithms that Bitmovin offers.  
Let’s first look at how you need to configure things to use Cloud Connect. You will need an AWS account, and a Bitmovin account with Cloud Connect enabled (contact us if you don’t). The configuration process is documented in detail here, but I’ll walk you through the major steps below.

Configuring AWS

Bitmovin will be creating resources within your AWS account, so you’ll need to create an IAM user for it. This user needs to have access to EC2 with applicable permissions. For a prototype, using the `AmazonEC2FullAccess` is sufficient.
Next, you’ll need a Virtual Private Cloud (VPC) and Security Group in your AWS account. You likely already have a default VPC, but if you deleted it, recreate it before proceeding. The security group will make sure that the EC2 instances can communicate with the Bitmovin API and with each other. 
Finally, you will likely need to request quota increases from AWS, depending on your expected workloads and concurrency requirements. That’s due to the nature of the Bitmovin encoding process, which splits the video asset into chunks and encodes them in parallel on multiple worker instances.

Configuring Bitmovin

Now that you have a new IAM user and your AWS account configured, you need to create an infrastructure resource on the Bitmovin platform. From the Bitmovin dashboard, go to Encoding > Infrastructure > Add new Infrastructure.

Creating a new AWS Per-Title Encoding Infrastructure_Bitmovin Dashboard_Screenshot
Creating a new AWS Encoding Infrastructure in the Bitmovin Dashboard

Select AWS at the top and enter your credentials and a name for this infrastructure. Click Create. You now need to specify and configure what AWS region you want to work in. Click Add new Region Settings.

Adding new AWS Region_Bitmovin Dashboard_Screenshot
Adding new AWS Region in the Bitmovin Dashboard

Enter your `security_group_id` and a low number of Max parallel Encodings to start with. You won’t need to set the other settings for simple use cases.
Finally, you need to request access to Bitmovin’s Amazon Machine Images (AMIs). These will be used to create EC2 instances on your AWS account, so let your Bitmovin technical contact know your AWS account number to get access to the AMIs.
This is all you need to do to enable Bitmovin Cloud Connect on your AWS account. Once you start using Cloud Connect, you’ll be able to take advantage of volume pricing discounts, security rules, and configuration options that aren’t available to customers using Bitmovin’s managed encoding service. 
Make a note of the ID of the infrastructure. You will need to use it in your encoding configuration later on to instruct Bitmovin to route encodings to your AWS account.

Bitmovin Encoding workflow on AWS

We are now ready to look at the details of the implementation of the workflow. In the first part of this series, I discussed in some detail the architectural choices we made for this demo application. In the remainder of this post, we will focus on the components that interact directly with the Bitmovin encoding platform.
You can also find more details on using the Bitmovin Encoding API in the documentation. Otherwise, read on to see some code samples and more details for setting this up yourself.

Encoding with the Bitmovin API and SDK

I’ll focus first on the AWS Lambda code that calls the Bitmovin API when a new file arrives on S3.

Bitmovin Per-Title Encoding API and SDK_AWS Lambda Code_Flow chart
Lambda workflow for triggering an encoding

After you’ve set up S3 event notifications to call a Lambda function, you need to write some code that will handle the notification. Lambda supports several common web programming languages and Bitmovin provides SDKs for most of the same ones, but I’ll use the Python SDK for this example. You should be able to adapt these samples to your language of choice.
A Lambda function is configured to invoke a single method in the code. That method is passed an event that contains contextual information and in this case essential information about the S3 bucket and file that triggered the function. We need both to pass into the encoding configuration.


Per Title Encoding Configuration_Lambda_Python Code Snippet
Lambda handler function

You will previously have configured an S3 Input object on the Bitmovin platform that allows the encoder to grab files from that bucket. For simple workflows with a single watch folder, you would not even need to retrieve the bucket name from the event data, but here we do it to keep the code generic and allow multiple watch folders in different buckets.
The `encode` function will initialise the Bitmovin API with your credentials, which are passed to the Lambda function via environment variables, then retrieves the S3 Input resource that corresponds to the one that triggered the event. It then creates our encoding object.

Triggering Encoding Object in AWS Lambda_Python Code Snippet
Creating an Encoding Object in Python

Compared to a “standard” encoding, there is really only one difference when using Cloud Connect: note how we pass the infrastructure ID and AWS region when creating the encoding object. That’s all! From here on, it is a standard Per-Title configuration, which will generate an ABR ladder optimised for that video asset.

Encoding Configuration for Per-Title on AWS_Python Code Snippet
Encoding configuration for video

In my code I make use of helper functions that wrap the Bitmovin SDK, to improve the readability of the high-level functions and reusability. I’ve left a lot of detail out because the Bitmovin Python SDK is already well documented. In particular, you can get full details on how to configure Per-Title from our tutorial
When it comes to audio, I want to make sure that the encoding only attempts to create an audio stream if it’s present in the source. This is easily accomplished with stream conditions:

Encoding Configuration_Custom Audio_Stream Condition Input_Python Code Snippet
Encoding configuration for audio

We want to be able to play our video through standard web players, and we therefore also need to create HLS and DASH manifests for them. Since our use case is quite simple, I will make use of Bitmovin’s Default Manifest functionality that will create a standard manifest with very little configuration needed. So the `encode` function continues…

Adding Manifests to the Encoding_Python Code Snippet
Encoding configuration for default manifests

With this done, we are now ready to start the encoding. The start call needs a request payload that instructs the encoder to use the Per-Title algorithm and gives it complete freedom to choose the number, bitrate, and resolution of the renditions to generate for that input asset. 
We also let the encoder generate the manifests automatically when the encoding process has completed.

Start Encoding Request_AWS Lambda_Python Code Snippet
Encoding configuration – start request

The code is complete, we are now ready to deploy it to our Lambda function. You will need to package it with the Bitmovin Python SDK as dependency. Check the AWS documentation on the various methods that you can use for this deployment. We also need to set the environment variables as appropriate.

Deploying Encode on AWS Lambda Function_AWS Dashboard_Screenshot
Lambda function deployed

At this point, your Lambda will be triggered every time a new video file is added to your S3 bucket. When encoding starts, Bitmovin will split the file, spin up Spot Instances in your AWS account, and begin the encoding process. When the video is finished, it will be saved in the Output S3 bucket you configured. You’ll be able to monitor the encoding process in the Bitmovin dashboard.

Completed encode_Bitmovin Encoding Dashboard_screenshot
Completed encoding in the Bitmovin Dashboard

Reacting on Completion of the Encoding

In our workflow, we want to gather some information when the encoding is complete to feed to the front-end application. At a minimum, we want to know whether the encoding succeeded, the name of the asset, and the URLs of the manifests. In essence, this performs the same function as an online video platform or content management system would in a more traditional setup.
All of this should be automatic, so we will use Lambda again to retrieve that information. To trigger it, the Bitmovin platform will notify a webhook endpoint when the encoding is finished. The Lambda function will retrieve that information and then store it to DynamoDB

Retrieving content info in DynamoDB_Flow Chart
Lambda workflow for retrieving encoding information

The AWS console makes it easy to create an AWS Lambda function triggered with an HTTP call, through an API Gateway endpoint. 

Triggering AWS Lambda Function_HTTP Call_AWS Dashboard_Screenshot
Triggering AWS Lambda Function with an HTTP Call

On the Bitmovin side of things, the simpler way to configure a webhook is through the Dashboard. I will create a single “catch-all” webhook that gets triggered for all finished encodings in my Bitmovin account. If I wanted to do it on a per-encoding basis, I could just add a webhook in the encoding configuration instead, in my `encode` function.

Webhook Configuration_Bitmovin Dashboard_Screenshot
Configuring Webhooks in Bitmovin’s Dashboard

Amazon has documentation for setting up DynamoDB, so I won’t cover that here. Instead, I’ll show you how to save data coming in from the completed encoding job. I chose DynamoDB to store the data because it allows you to quickly store unstructured data like this. Great for prototyping during a hackathon!
This second Lambda function has its own code, with its own handler. This time the event data contains the payload from the Bitmovin notification, which contains the encoding ID.

Importing Encoding Data_Lambda Function 2_Python Code Snippet
Lambda handler function

The `summarize_encoding_info` uses the Bitmovin SDK to retrieve the asset name, path, manifest URLs, status, and other useful metadata into a JSON object. I won’t go through the details here, but you will find tips on how to do this in my tutorial on retrieving encoding information.
This function also translates S3 URLs into CloudFront CDN URLs, which the player will use for streaming.
Having extracted that metadata, we save the `info` object to our DynamoDB table (using AWS’ excellent boto3 Python library):

Saving Metadata to DynamoDB_Python Code Snippet
Saving the Metadata to DynamoDB

From now on, the data will flow in automatically, and you can use the AWS DynamoDB interface to look up metadata about your encodings.

AWS DynamoDB Interface_AWS Dashboard Screenshot
Encoding metadata in the AWS DynamoDB

Multiple encodings

You may remember from part one of our blog series that for the 2020 AWS + Bitmovin hackathon project, we wanted to compare Per-Title and static ladders for our content. The eagle-eyed among you will also have noticed from the previous screenshot that my DynamoDB table does indeed contain 2 sets of info data for the asset.
The code I presented in this post is indeed a simplification, which only creates a single Per-Title ladder, to make it more of a real-life use case. If you wanted to match what we did, the differences are actually quite small:

  • The handler for the first Lambda function triggers 2 encodings in parallel. 
  • A single parameter on the “encode” function offers a switch to allow it to handle the small differences between a static and a Per-Title configuration
  • Each encoding is independent and triggers a completion notification individually. The summarize_encoding_info function in the second Lambda determines whether Per-Title was used (which I do through the use of `labels` on the encoding) and updates the corresponding fields in the DynamoDB table 

What’s Next?

In this post, you saw how to configure Bitmovin’s Cloud Connect for Amazon Web Services and call Lambda functions each time a video is uploaded and encoded. Using the encoding complete webhook, you can save metadata about each video into DynamoDB.
Going back to the high-level architecture from part one, there’s just one more piece of the application to cover. In the last part of this three-part series, I’ll show you how to implement the Bitmovin Player and gather data about how users are interacting with your content using Bitmovin Analytics.
Finally, if you need help setting up a scalable video encoding pipeline on AWS, reach out to Bitmovin’s team or read more in the encoding API’s documentation.

The post Cloud-based Per-Title Encoding Workflows (with AWS) – Part 2: Implementing the Encoding Workflow appeared first on Bitmovin.

]]>
You May be Wondering How We Got Here: Emmy® Award for Innovations in Online Broadcasting https://bitmovin.com/blog/emmy-award-journey-per-title-encoding/ Thu, 11 Feb 2021 13:53:08 +0000 https://bitmovin.com/?p=156112 As you may have heard, Bitmovin was recently honored with the Technology & Engineering Emmy® Award for the Development of Massive Processing Optimized Compression Technologies for our innovative work on our AI/ML Per-Title Encoding solution. But before the music plays me off the stage for individually thanking all of the Bitmovers who made this possible....

The post You May be Wondering How We Got Here: Emmy® Award for Innovations in Online Broadcasting appeared first on Bitmovin.

]]>
As you may have heard, Bitmovin was recently honored with the Technology & Engineering Emmy® Award for the Development of Massive Processing Optimized Compression Technologies for our innovative work on our AI/ML Per-Title Encoding solution. But before the music plays me off the stage for individually thanking all of the Bitmovers who made this possible. I would like to take this opportunity to tell you a little bit about what the Technology & Engineering Award is and how Bitmovin got to here, to an award reception.

What is the Technology & Engineering Emmy® Award?

Bitmovin's Journey to an Emmy Award_Featured Image
The Emmys®, a world-renowned awards ceremony was founded in 1955 by the National Academy of Television & Sciences (NATAS) as a method of recognizing the advancements of arts and sciences and the promotion of creative achievements within the television industry. However, what you may not know is that this creativity-oriented ceremony was predated by the Technology and Engineering award of 1948 that recognized the companies, organizations, and individuals for breakthroughs in television technology. 
As time has progressed, so has the Technology and Engineering award – in the age of streaming, innovations are no longer oriented towards traditional broadcast media alone, but also towards those who have a significant focus on television engineering online. As such, the award categories expanded from focuses around recording, transmission, and “simple” storage technologies towards complex topics such as the development of Open Perceptual Metrics, Content Delivery, Standardizations of Media Formats, and Massive Processing Optimized Compression Technologies.

The Award for Development of Massive Processing Optimized Compression Technologies

As the number of households consuming content online (as opposed to traditional broadcast) soars to new heights, alongside the number of available services to stream new content, there’s an equally growing demand for efficient transmission of the millions of hours of content worldwide. As of summer 2020, there was an estimated count of 105,000 available hours of content in the US alone on average per household. Given the recent launches of HBO Max, Peacock, Discovery+, and more, one can assume that the number has drastically increased over the course of the last year. 
Delivering that much content at scale is no easy achievement, especially when it comes to maintaining a high perceptual quality, in a timely fashion, and across all varieties of available bandwidth. That’s where Massive Processing Optimized Compression Technologies (encoding) come into play to ensure that as much content is delivered as efficiently as possible for as many organizations as possible. Thus, a new Emmy® Award was born to display the innovations in chunk and/or shot-based encoding mechanisms that transmit information into finer and smarter segments. As of February 2021, Bitmovin is the honored recipient of the Technology & Engineering Emmy® Award for Development of Massive Processing Optimized Compression Technologies.

How did we get here?

Our educational roots

Bitmovin’s DNA and our original founding story came from contributing to the development of the open-source MPEG DASH adaptive bitrate standard through our founder’s Ph.D. research and as active members of the Alliance for Open Media (AOMedia). Our innovative mindset towards improving streaming quality has been at our core since our founding in 2013 in the form of public research, shared development of open-source standards and code, and real-world deployments of proprietary commercial implementations at scale.
This came to fruition when the other two Bitmovin founders, Chris Mueller & Christian Timmerer, and I, contributed to the development of the MPEG-DASH standard which became the de facto video streaming standard used today by the largest online broadcasters in the world Netflix, Google, YouTube. Bitmovin’s earliest products essentially referenced implementations of this standard in development for both processing (Encoder) and playback (Player) when Bitmovin was founded as a spin-out of the University of Klagenfurt, Austria in 2013.

Our encoding product is born

Quickly after its founding and release of commercial stable products in 2014, Bitmovin saw stunning growth as evidenced by its roster of some of the world’s largest online broadcasters such as Hulu Japan, the BBC, and hundreds of others.
As of 2016, Bitmovin released the next generation of video streaming innovation with its Per-Title encoding service – one of the first commercial solutions available for broadcasters to leverage the power of perceptual quality measurement as applied to video encoding bitrate optimization. Again, Bitmovin grew its roster of global scale online broadcasters with this technology including Hulu, HBO, and Stan – officially premiering the solution at the 2018 International Broadcasting Convention (IBC).

Explanation of Per-Title Encoding workflow
Per-Title Encoding Workflow

As time passed by, our regular contributions and research efforts with the University of Klagenfurt were expanded to a new effort in 2020, the ATHENA program – a joint investment from the Austrian Federal Ministry of Digital and Economic Affairs (BMDW), the University of Klagenfurt and Bitmovin GMBH to establish a multi-million Euro research project to uncover video transmission technology techniques that will enhance the video streaming experiences of the future. 

Developing technology for the future: Per-Title Encoding

The joint project established a dedicated research team to investigate potential new tools and methodologies for encoding, transport, and playback of live and on-demand video using the HTTP Adaptive Streaming protocol that is widely used by online video and TV providers. The resulting findings will help empower the creation of next-generation solutions for higher quality video experiences at lower latency, while also potentially reducing storage and distribution costs while leveraging the human-centered perceptual quality metrics.
Most recently, Bitmovin further improved its parallel encoding compute capabilities by launching additional cloud-based processes with Cloud Connect Encoding. Bitmovin’s Cloud Connect encoding supports massively parallel encoding to achieve significant multiples over real-time deployed on the 3 most popular infrastructure services: Amazon Web Services, Google Cloud Platform, and Microsoft Azure. Each of these services has different API specifications as well as for instance (hardware) configuration particularities.
All of these innovations culminated with Bitmovin as an honored recipient of the Technology & Engineering Emmy® Award for Development of Massive Processing Optimized Compression Technologies. But that’s not the end of the story.

What does this mean for the future of Bitmovin & Online Video?

Bitmovin will continue to develop and evolve our per-title encoding solution with plans to create real-time implementations of quality-based encoding at low latencies as it is still an early-stage technology and lacks widespread accepted industry standards. We also expect to see further adoption and improvements to AI and machine learning for video quality measurements that will allow organizations like Bitmovin to apply even more optimal encoding parameters. However, it may take a few more years to see material impacts on the market from AI/ML applied to encoding, as it’s in the early research and experimentation phase.
Our research wing at the Klagenfurt of University aims to improve the “hackable” predictive quality measurement models of video with deeper metrics and analytics. And we look forward to closing the video workflow loop by connecting Encoding with Analytics. After encodings are created it is important to “close the loop” to monitor the actual performance of the encoded assets such as exploring usage patterns to note correlations with positive and negative performance.

The post You May be Wondering How We Got Here: Emmy® Award for Innovations in Online Broadcasting appeared first on Bitmovin.

]]>