<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>hevc &#8211; Bitmovin</title>
	<atom:link href="https://bitmovin.com/tag/hevc/feed" rel="self" type="application/rss+xml" />
	<link>https://bitmovin.com</link>
	<description>Bitmovin provides adaptive streaming infrastructure for video publishers and integrators. Fastest cloud encoding and HTML5 Player. Play Video Anywhere.</description>
	<lastBuildDate>Tue, 28 Nov 2023 21:00:36 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://bitmovin.com/wp-content/uploads/2023/11/bitmovin_favicon.svg</url>
	<title>hevc &#8211; Bitmovin</title>
	<link>https://bitmovin.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Game-Changing Savings with Per-Title Encoding</title>
		<link>https://bitmovin.com/per-title-encoding-savings</link>
					<comments>https://bitmovin.com/per-title-encoding-savings#respond</comments>
		
		<dc:creator><![CDATA[Andy Francis]]></dc:creator>
		<pubDate>Mon, 27 Nov 2023 06:09:54 +0000</pubDate>
				<category><![CDATA[Innovation]]></category>
		<category><![CDATA[av1]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[per-title encoding]]></category>
		<category><![CDATA[video encoding]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=272890</guid>

					<description><![CDATA[<p>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...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/per-title-encoding-savings">Game-Changing Savings with Per-Title Encoding</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Table of Contents</h2><nav><ul><li><a href="#introduction">Introduction</a></li><li><a href="#per-title-encoding-is-key-for-cutting-streaming-costs">Per-Title Encoding is key for cutting streaming costs</a></li><li><a href="#how-does-per-title-encoding-work">How does Per-Title Encoding work?</a></li><li><a href="#per-title-encoding-abr-ladder-vs-fixed-bitrate-ladder">Per-Title Encoding ABR ladder vs fixed bitrate ladder</a></li><li><a href="#storage-savings-with-per-title-encoding">Storage savings with Per-Title Encoding</a></li><li><a href="#improve-quality-without-increasing-bitrates">Improve quality without increasing bitrates </a><ul><li><a href="#bitmovin-smart-chunking-prevents-lower-quality-outlier-frames">Bitmovin Smart Chunking prevents lower quality outlier frames</a></li></ul></li><li><a href="#conclusion">Conclusion</a></li><li><a href="#related-links">Related Links</a></li></ul></nav></div>



<h2 class="wp-block-heading" id="introduction">Introduction</h2>



<p>The post will explain how <a href="https://bitmovin.com/encoding-service/per-title-encoding">Per-Title Encoding</a> 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.&nbsp;</p>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="per-title-encoding-is-key-for-cutting-streaming-costs">Per-Title Encoding is key for cutting streaming costs</h2>



<p>For the past couple of years, “controlling costs” has been among the top challenges for video streaming, according to the results of Bitmovin’s <a href="https://bitmovin.com/video-developer-report">annual video developer survey</a>. 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 <a href="https://www.theverge.com/2023/5/19/23729642/disney-plus-hulu-remove-pull-shows-willow-streaming-bob-iger" rel="nofollow noopener" target="_blank">removing shows and films</a> from their libraries to save on licensing and other operational costs.&nbsp;</p>



<p>Another trend highlighted by industry analyst Dan Rayburn, has been the <a href="https://www.streamingmediablog.com/2023/06/cutting-bitrates-4k.html" rel="nofollow noopener" target="_blank">lowering of bitrates</a>, including removal of 4K streaming in some cases. Services that do still offer 4K often restrict it to their highest-priced subscription tier. <a href="https://www.streamingmediablog.com/2014/01/dirty-little-secret-4k-streaming-content-owners-cant-afford-bandwidth-costs.html" rel="nofollow noopener" target="_blank">Back in 2014</a>, 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.&nbsp;</p>



<p>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:</p>



<p><a href="https://help.netflix.com/en/node/13444" rel="nofollow noopener" target="_blank">Netflix</a>: 15 Mbps (they use their own version of per-title encoding)</p>



<p><a href="https://help.disneyplus.com/article/disneyplus-recommended-speeds" rel="nofollow noopener" target="_blank">Disney+</a>: 25 Mbps</p>



<p><a href="https://help.paramountplus.com/s/article/PD-What-are-the-minimum-system-requirements-for-Paramount" rel="nofollow noopener" target="_blank">Paramount+</a>: 25 Mbps</p>



<p><a href="https://help.hbomax.com/ba-en/Answer/Detail/000001257#" rel="nofollow noopener" target="_blank">Max</a>: 50+ Mbps&nbsp;</p>



<p>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 (<a href="https://bitmovin.com/av1-4k-video-sd-bitrates">often under 2 Mbps</a>).&nbsp;</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1024" height="491" src="https://bitmovin.com/wp-content/uploads/2023/11/tears-of-steel-abr-ladder-1024x491-1.png" alt="Chart showing Per-Title Encoding with AV1 can encoding 4K content with less than 2 Mbps" class="wp-image-272892" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/tears-of-steel-abr-ladder-1024x491-1-300x144.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/tears-of-steel-abr-ladder-1024x491-1.png?size=384x184&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/tears-of-steel-abr-ladder-1024x491-1-768x368.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/tears-of-steel-abr-ladder-1024x491-1.png?lossy=2&amp;strip=1&amp;webp=1 1024w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Per-Title Encoding with AV1 can deliver mind-blowing low bitrates</figcaption></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="how-does-per-title-encoding-work">How does Per-Title Encoding work?</h2>



<p>In 2012, Bitmovin’s co-founders published a research paper titled “<a href="https://athena.itec.aau.at/2023/11/sigmm-test-of-time-paper-honorable-mention-in-the-category-of-mm-systems-networking/" rel="nofollow noopener" target="_blank">Dynamic Adaptive Streaming over HTTP Dataset</a>” 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 <a href="https://bitmovin.com/adaptive-streaming">adaptive bitrate</a> 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.&nbsp;</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="700" height="678" src="https://bitmovin.com/wp-content/uploads/2023/11/per-title-encoding.png" alt="- Bitmovin" class="wp-image-272893" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/per-title-encoding-300x291.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/per-title-encoding.png?size=384x372&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/per-title-encoding.png?lossy=2&amp;strip=1&amp;webp=1 700w" sizes="(max-width: 700px) 100vw, 700px" /><figcaption class="wp-element-caption">Bitmovin&#8217;s Per-Title Encoding process</figcaption></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In 2015, Netflix published a <a href="https://netflixtechblog.com/per-title-encode-optimization-7e99442b62a2" rel="nofollow noopener" target="_blank">tech blog</a> 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.&nbsp;</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="479" height="307" src="https://bitmovin.com/wp-content/uploads/2023/11/Convex_Hull.png" alt="- Bitmovin" class="wp-image-272894" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Convex_Hull-300x192.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Convex_Hull.png?size=384x246&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Convex_Hull.png?lossy=2&amp;strip=1&amp;webp=1 479w" sizes="(max-width: 479px) 100vw, 479px" /></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="per-title-encoding-abr-ladder-vs-fixed-bitrate-ladder">Per-Title Encoding ABR ladder vs fixed bitrate ladder</h2>



<p>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.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="956" height="484" src="https://bitmovin.com/wp-content/uploads/2023/11/avc_4k.png" alt="- Bitmovin" class="wp-image-272895" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/avc_4k-300x152.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/avc_4k.png?size=384x194&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/avc_4k-768x389.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/avc_4k.png?lossy=2&amp;strip=1&amp;webp=1 956w" sizes="(max-width: 956px) 100vw, 956px" /><figcaption class="wp-element-caption">Per-Title Encoding  provides higher quality 4K with a lower bitrate than our customer&#8217;s previous 1080p using fixed ABR ladder   </figcaption></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p>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.&nbsp;</p>



<p>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.&nbsp;</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="955" height="489" src="https://bitmovin.com/wp-content/uploads/2023/11/hevc_4k.png" alt="- Bitmovin" class="wp-image-272896" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc_4k-300x154.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc_4k.png?size=384x197&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc_4k-768x393.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc_4k.png?lossy=2&amp;strip=1&amp;webp=1 955w" sizes="(max-width: 955px) 100vw, 955px" /><figcaption class="wp-element-caption">For lower complexity content, Per-Title Encoding only needs 2 Mpbs for 4K video, 87% lower than our customer&#8217;s previous encoding ladder.</figcaption></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p>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.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1516" height="723" src="https://bitmovin.com/wp-content/uploads/2023/11/hevc-1080.png" alt="- Bitmovin" class="wp-image-272897" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc-1080-300x143.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc-1080.png?size=384x183&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc-1080-768x366.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc-1080.png?size=1152x549&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/hevc-1080.png?lossy=2&amp;strip=1&amp;webp=1 1516w" sizes="(max-width: 1516px) 100vw, 1516px" /><figcaption class="wp-element-caption">For medium-high complexity content, using Per-Title Encoding with HEVC can deliver the same quality with 70% lower bitrate than AVC/H.264.</figcaption></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="storage-savings-with-per-title-encoding">Storage savings with Per-Title Encoding</h2>



<p>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.&nbsp;</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1282" height="758" src="https://bitmovin.com/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM.png" alt="- Bitmovin" class="wp-image-272898" style="width:677px;height:auto" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM-300x177.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM.png?size=384x227&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM-768x454.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM.png?size=1152x681&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.26-PM.png?lossy=2&amp;strip=1&amp;webp=1 1282w" sizes="(max-width: 1282px) 100vw, 1282px" /></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="improve-quality-without-increasing-bitrates">Improve quality without increasing bitrates&nbsp;</h2>



<p>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.&nbsp;</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="1160" height="472" src="https://bitmovin.com/wp-content/uploads/2023/11/quality-improvement.png" alt="- Bitmovin" class="wp-image-272899" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/quality-improvement-300x122.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/quality-improvement.png?size=384x156&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/quality-improvement-768x312.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/quality-improvement.png?lossy=2&amp;strip=1&amp;webp=1 1160w" sizes="(max-width: 1160px) 100vw, 1160px" /></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="bitmovin-smart-chunking-prevents-lower-quality-outlier-frames">Bitmovin Smart Chunking prevents lower quality outlier frames</h3>



<p>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.</p>



<figure data-wp-context="{&quot;uploadedSrc&quot;:&quot;https:\/\/bitmovin.com\/wp-content\/uploads\/2023\/11\/Screenshot-2023-11-26-at-8.07.04-PM.png&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-full is-resized&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-272900&quot;,&quot;imgStyles&quot;:&quot;width:1204px;height:auto&quot;,&quot;targetWidth&quot;:3298,&quot;targetHeight&quot;:732,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Enlarge image&quot;,&quot;alt&quot;:&quot;&quot;}" data-wp-interactive="core/image" class="wp-block-image aligncenter size-full is-resized wp-lightbox-container"><img loading="lazy" decoding="async" width="3298" height="732" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://bitmovin.com/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM.png" alt="- Bitmovin" class="wp-image-272900" style="width:1204px;height:auto" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM-300x67.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM.png?size=384x85&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM-768x170.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM.png?size=1152x256&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM-1536x341.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM.png?size=1920x426&amp;lossy=2&amp;strip=1&amp;webp=1 1920w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM-2048x455.png?lossy=2&amp;strip=1&amp;webp=1 2048w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-8.07.04-PM.png?lossy=2&amp;strip=1&amp;webp=1 3298w" sizes="(max-width: 1920px) 100vw, 1920px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge image"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="context.imageButtonRight"
			data-wp-style--top="context.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Bitmovin Encoding with Smart Chunking  helps prevent lower quality frames that can occur with other segmented encoding.</figcaption></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>



<p>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.&nbsp;&nbsp;&nbsp;</p>



<p>Ready to see what difference Per-Title Encoding can make with your content? Anyone can test it out <a href="https://dashboard.bitmovin.com/signup">for free</a> with no coding required using our VOD encoding wizard. We also have a <a href="https://dashboard.bitmovin.com/encoding/per-title-cost-optimization">comparison tool</a> in our dashboard where you can input your own content or use common test videos. Try it out today!</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="777" height="160" src="https://bitmovin.com/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-7.13.25-PM.png" alt="- Bitmovin" class="wp-image-272901" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-7.13.25-PM-300x62.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-7.13.25-PM.png?size=384x79&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-7.13.25-PM-768x158.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/11/Screenshot-2023-11-26-at-7.13.25-PM.png?lossy=2&amp;strip=1&amp;webp=1 777w" sizes="(max-width: 777px) 100vw, 777px" /><figcaption class="wp-element-caption">Bitmovin&#8217;s VOD Encoding UI allows anyone to use Per-Title encoding with no coding necessary</figcaption></figure>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="related-links">Related Links</h2>



<p><a href="https://go.bitmovin.com/en/choosing-per-title-encoding-technology">Choosing the Best Per-Title Encoding Technology</a></p>



<p><a href="https://bitmovin.com/what-is-per-title-encoding">What is Per-Title Encoding and how does it work</a>&nbsp;</p>



<p><a href="https://developer.bitmovin.com/encoding/docs/how-to-create-a-per-title-encoding">How to Create a Per-Title Encoding</a></p>



<p><a href="https://developer.bitmovin.com/encoding/docs/per-title-configuration-options-explained">Advanced Per-Title configuration</a>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/per-title-encoding-savings">Game-Changing Savings with Per-Title Encoding</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://bitmovin.com/per-title-encoding-savings/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Quietly Added HEVC Support in Chrome</title>
		<link>https://bitmovin.com/google-adds-hevc-support-chrome</link>
		
		<dc:creator><![CDATA[Daniel Weinberger]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 15:25:07 +0000</pubDate>
				<category><![CDATA[VidTech]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[hevc]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=242297</guid>

					<description><![CDATA[<p>Quietly, without any announcement or updates on support pages, Google fixed a bug in Chrome with a significant implication for the video streaming industry: Support for adaptive streaming of HEVC/H.265 video content has finally been enabled!&#160; Thanks to Bitmovin (Humble Brag, just kidding), we submitted a bug report about 6 years ago about this very...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/google-adds-hevc-support-chrome">Google Quietly Added HEVC Support in Chrome</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image alignright size-large is-resized"><img loading="lazy" decoding="async" src="https://bitmovin.com/wp-content/uploads/2022/09/google-104-105-1024x587.png" alt="- Bitmovin" class="wp-image-242419" width="512" height="294" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105-300x172.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105.png?size=384x221&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105-768x441.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105-1024x587.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105-1536x881.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/09/google-104-105.png?lossy=2&amp;strip=1&amp;webp=1 1651w" sizes="(max-width: 512px) 100vw, 512px" /><figcaption class="wp-element-caption"> </figcaption></figure>



<p></p>



<p>Quietly, without any announcement or updates on support pages, Google fixed a bug in Chrome with a significant implication for the video streaming industry: Support for adaptive streaming of HEVC/H.265 video content has finally been enabled!&nbsp;</p>



<p>Thanks to Bitmovin (Humble Brag, just kidding), <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=460703" rel="nofollow noopener" target="_blank">we submitted a bug report</a> about 6 years ago about this very thing. After a &#8220;small&#8221; bit of waiting, we got the answer that It’s now officially supported for Chrome 104, and with a little investigation also found out that it’s enabled by default for Chrome 105 for all platforms, ready to be used in the wild.&nbsp;</p>



<p></p>



<h2 class="wp-block-heading"><strong>Why does support for HEVC matter?</strong></h2>



<p>High-Efficiency<a href="https://bitmovin.com/developer-network/lesson-video-1-9-high-efficiency-video-coding-hevc/"> Video Coding (HEVC)</a> provides better compression for files than the ubiquitous AVC/H.264, meaning you will be able to stream the same quality with lower bandwidth and big savings on CDN costs with the added bonus of improving the user experience.&nbsp;</p>



<p>While HEVC is commonly used for serving content to Smart TVs, set-top boxes, and devices like Roku and Fire TV, its usage on mobile and desktop browsers was limited to just Safari for a long time (after Microsoft changed the Edge browser to being Chromium-based). With <a href="https://gs.statcounter.com/browser-market-share" rel="nofollow noopener" target="_blank">Safari’s market share still below 19%</a> globally, the vast majority of users had no choice but to use another codec. However, with this latest change from Google, Chrome’s market share of more than 65% can be “theoretically” added to the HEVC-capable browsers, making it available to 84% of browser users.&nbsp;</p>



<p>I say “theoretically”, as there’s often a caveat: HEVC is only supported if the underlying device has an HEVC hardware decoder.&nbsp;</p>



<p>Today’s modern devices should already have that as standard, but reliable global data on this point are scarce. If you are curious to see if your device can play HEVC-encoded DASH and HLS streams, open our stream test page with an HEVC-encoded DASH and HLS URL, or you can use this <a href="https://bitmovin.com/demos/stream-test?format=hls&amp;manifest=https%3A%2F%2Fdemo.unified-streaming.com%2Fk8s%2Ffeatures%2Fstable%2Fvideo%2Ftears-of-steel%2Ftears-of-steel-hevc.ism%2F.m3u8">example URL</a>.</p>



<h2 class="wp-block-heading">Does is also work with DRM?</h2>



<p>That&#8217;s where the catch is, unfortunately. The biggest drawback is that HEVC with Widevine DRM is not supported at this point, only clear, unprotected content. It&#8217;s unclear whether Google has plans to add support for this in the future or not.</p>



<h2 class="wp-block-heading"><strong>Great feature, but where is the necessary hype!?</strong></h2>



<p>While this sounds like a feature Google should be boasting about to the moon over their comms channels, they haven’t really updated their documentation. In fact, <a href="https://www.chromium.org/audio-video/#:~:text=codec%20and%20container%20support" rel="nofollow noopener" target="_blank">Chromium’s Audio/Video codec &amp; container support page</a> was not updated as of the writing of this article, and the popular <a href="https://caniuse.com/?search=hevc" rel="nofollow noopener" target="_blank">caniuse.com</a> still lists HEVC as unsupported.</p>



<p>Android already supported HEVC, but Chrome on Android only supported HEVC with progressive files, not via the <a href="https://w3c.github.io/media-source/" rel="nofollow noopener" target="_blank">Media Source Extension (MSE) API</a>, which is used for adaptive streaming like DASH or HLS. After little movement for years from Google, the bug finally got picked up earlier this year and fixed. So despite the original scope being just Android, it was a very positive surprise to see HEVC support enabled and rolled out on all Chrome platforms. Now, we just need to see DRM supported along with it!</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/google-adds-hevc-support-chrome">Google Quietly Added HEVC Support in Chrome</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>State of Compression: Testing h.266/VVC vs h.265/HEVC</title>
		<link>https://bitmovin.com/vvc-quality-comparison-hevc</link>
		
		<dc:creator><![CDATA[Markus Hafellner]]></dc:creator>
		<pubDate>Wed, 16 Dec 2020 13:44:37 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[vvc]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=144919</guid>

					<description><![CDATA[<p>VVC &#8211; the latest evolution for modern codecs Versatile Video Coding (h.266/VVC) is the newest block-based hybrid codec from the Joint Video Experts Team (JVET), a group comprised of MPEG and ISO/ITU members such as Bitmovin and Fraunhofer HHI, and promises to vastly improve the compression capabilities of workflows for any organization within the streaming...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vvc-quality-comparison-hevc">State of Compression: Testing h.266/VVC vs h.265/HEVC</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><span style="font-weight: 400;">VVC &#8211; the latest evolution for modern codecs</span></h2>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-144921" src="https://bitmovin.com/wp-content/uploads/2020/12/BLOG-POST_Testing_VVC-1-1024x537.png" alt="BLOG POST_Testing_VVC Featured Image" width="1024" height="537" /><br />
<span style="font-weight: 400;">Versatile Video Coding (h.266/VVC) is the newest block-based hybrid codec from the Joint Video Experts Team (JVET), a group comprised of MPEG and ISO/ITU members such as Bitmovin and Fraunhofer HHI, and promises to vastly improve the compression capabilities of workflows for any organization within the streaming industry, including but not limited to, OTT, VR, AR, and many other providers. As fellow members of MPEG, the Bitmovin encoding team was eager to test the capabilities of the newest codec and the potential improvements it offered over its predecessor h.265/HEVC. The ultimate goal of the project was to determine the performance parameters of the VVC codec and the subjective visual quality enhancements that ensue. While Fraunhofer HHI claimed that the VVC codec promises to improve visual quality and reduce bitrate expenditure by around 50% over HEVC, we wanted to prove the validity of the statement.</span></p>
<blockquote><p><span style="font-weight: 400;">“Overall, H.266/VVC provides efficient transmission and storage of all video resolutions from SD to HD up to 4K and 8K, while supporting high dynamic range video and omnidirectional 360° video.” &#8211; </span><a href="https://newsletter.fraunhofer.de/-viewonline2/17386/465/19/6RFhct0v/7BvSjdE9tM/1" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">Fraunhofer HHI</span></a></p></blockquote>
<p><span style="font-weight: 400;">The end goal of our research was to implement the VVC distribution process into Bitmovin’s standard encoding process, as illustrated below:</span><br />
<img loading="lazy" decoding="async" class="aligncenter size-large wp-image-144922" src="https://bitmovin.com/wp-content/uploads/2020/12/VVC-encoding-workflow-1024x296.png" alt="VVC-encoding-workflow-illustrated" width="1024" height="296" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow-300x87.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow.png?size=384x111&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow-768x222.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow-1024x296.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow-1536x444.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC-encoding-workflow-2048x592.png?lossy=2&amp;strip=1&amp;webp=1 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2><span style="font-weight: 400;">Developing a VVC Encoding Process</span></h2>
<p><span style="font-weight: 400;">To kick-off our experiment, we added the </span><a href="https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">VVC Test Model (VTM) encoder library</span></a> <span style="font-weight: 400;">into our encoder with a flexible interface. However, some critical changes were needed in the Bitmovin API to enable VVC encoding</span><span style="font-weight: 400;">. </span></p>
<h3><b>Implementing the VVC codec</b></h3>
<p><span style="font-weight: 400;">The first step to enable VVC encoding is to add VVC as a new video codec to our API. Since we haven’t established a &#8220;real&#8221; encoder yet, there are limited settings, parameters, and inputs that we can use. For the first set of tests we used the following: width, height, bitrate, pixelFormat, rate, and Constant Rate Factor (CRF); as seen below:</span><br />
<img loading="lazy" decoding="async" class="aligncenter wp-image-146284 size-large" src="https://bitmovin.com/wp-content/uploads/2020/12/carbon-e1608648052954-1024x206.png" alt="VVC-Encoding Config-Code Snippet" width="1024" height="206" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954-300x60.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954.png?size=384x77&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954-768x154.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954-1024x206.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954-1536x308.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/carbon-e1608648052954.png?lossy=2&amp;strip=1&amp;webp=1 1733w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
<span style="font-weight: 400;">There are additional input values necessary for a real VVC encoding but didn’t apply for our test. These are colorConfig, sampleAspectRatio, encodingMode, preset, and profile. Any other specialized settings will depend on the encoder implementation that we use when live. At the time of our test, VVenC and other encoder implementations, like x266 were not yet available and thus the settings are unknown. Now that the VVC codec parameters have been established we needed to actually implement them into the Bitmovin encoder.</span></p>
<h3><b>Testing VVC in Bitmovin’s Encoder</b></h3>
<p><span style="font-weight: 400;">Thanks to our flexible interface, Lead Encoding Engineer, Christian Feldmann, had already added the library interface to the open-sourced reference encoder (VTM) and also added a patch to our internal encoder, which pushes frames to the VTM encoder and retrieves any data from it. Then, we implemented a new Bitmovin encoder Dependency that contains VTM with h.266 support.</span><br />
<img loading="lazy" decoding="async" class="aligncenter size-full wp-image-144924" src="https://bitmovin.com/wp-content/uploads/2020/12/VVC_VTM-implementation.jpg" alt="VVC_VTM implementation-illustrated" width="800" height="400" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC_VTM-implementation-300x150.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC_VTM-implementation.jpg?size=384x192&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC_VTM-implementation-768x384.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/VVC_VTM-implementation.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /><br />
<span style="font-weight: 400;">Lastly, we created a VideoService integration test that would prove that the VTM integration works. However, as expected of a brand new codec implementation &#8211; most of the initial tests failed.</span></p>
<h3><b>Trial, error, and repeat: VVC encoding initial failures</b></h3>
<p><span style="font-weight: 400;">Although expected, we were disappointed to find that running multiple renditions using the h.266 codec doesn’t work as the VTM implementation uses global variables. Thus we were not able to launch multiple encoding tasks on the same “machine” (respectively within the same docker container). Another issue that we encountered is that only the 1080p output format worked as a result of the encode. While promising, the VVC codec and encoding are intended to work for nearly any output format, and a single output is clearly not the intended result. To resolve these issues we implemented a few minor patches within our API.</span></p>
<h3><b>Resolving the VVC encoding failures</b></h3>
<p><span style="font-weight: 400;">Fortunately for our experiment, a simple patch to the encoder, as well as the implementation of the libVTM worked almost out-of-the-box. The remaining issues were two minor bugs that required the connection of the CRF value of our API to the baseQP value in libVTM. </span><br />
<span style="font-weight: 400;">Now that the encoding issues were resolved, we were able to run the first objective visual quality evaluations using the Peak Signal-to-Noise Ratio (PSNR). As a baseline, we ran four different CRF values at 1080p resolution to calculate BD-rate curves in comparison to h.265/HEVC. The result was h266 and h265 output files with the same four CRFs that allowed the first quality comparison.</span></p>
<h2><span style="font-weight: 400;">How did VVC stack up?</span></h2>
<p><span style="font-weight: 400;">Once our initial implementation tests were complete, we set up a complete end-to-end encoding test with a single asset, </span><a href="https://mango.blender.org/" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">Mango’s open-source project Tears of Steel</span></a><span style="font-weight: 400;">. </span></p>
<div id="vidalytics_embed__VuEThpkX_la5WLy" style="width: 100%; position: relative; padding-top: 44.44%;"></div>
<p><script type="text/javascript">
(function (v, i, d, a, l, y, t, c, s) {
    y='_'+d.toLowerCase();c=d+'L';if(!v[d]){v[d]={};}if(!v){v={};}if(!v[y]){v[y]={};}var vl='Loader',vli=v[y][vl],vsl=v[vl + 'Script'],vlf=v[vl + 'Loaded'],ve='Embed';
    if (!vsl){vsl=function(u,cb){
        if(t){cb();return;}s=i.createElement("script");s.type="text/javascript";s.async=1;s.src=u;
        if(s.readyState){s.onreadystatechange=function(){if(s.readyState==="loaded"||s.readyState=="complete"){s.onreadystatechange=null;vlf=1;cb();}};}else{s.onload=function(){vlf=1;cb();};}
        i.getElementsByTagName("head")[0].appendChild(s);
    };}
    vsl(l+'loader.min.js',function(){if(!vli){var vlc=v[vl];vli=new vlc();}vli.loadScript(l+'player.min.js',function(){var vec=v[d][ve];t=new vec();t.run(a);});});
})(window, document, 'Vidalytics', 'vidalytics_embed__VuEThpkX_la5WLy', 'https://fast.vidalytics.com/embeds/SH0e2Tnl/_VuEThpkX_la5WLy/');
</script><br />
<i><span style="font-weight: 400;">Side by side comparison video of encoded asset VVC vs HEVC</span></i><br />
<span style="font-weight: 400;">Given the limitations of the encoder implementations, VVC’s performance was as promised (and expected), offering ~45% percent lower bitrate compared to HEVC. As visualized in the graph below, our results are nearly identical to that of the official measurements provided by JVET.</span><br />
<span style="font-weight: 400;">Although there are significant visual quality improvements and at lower bitrate expenditure, the current encoding results came at an immense computing and time cost. In our initial tests, the encoding time for a 4-second video ranged between 2.5-6.4 hrs (varied based on output parameters).</span><br />
<img loading="lazy" decoding="async" class="aligncenter size-large wp-image-144925" src="https://bitmovin.com/wp-content/uploads/2020/12/vvc-h265-logo-text-1024x457.jpg" alt="vvc-vs-h265 visual comparison_side-by-side" width="1024" height="457" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/vvc-h265-logo-text-300x134.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/vvc-h265-logo-text.jpg?size=384x171&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/vvc-h265-logo-text-768x343.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/vvc-h265-logo-text-1024x457.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/12/vvc-h265-logo-text.jpg?lossy=2&amp;strip=1&amp;webp=1 1080w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h2><span style="font-weight: 400;">What does this mean moving forward?</span></h2>
<p><span style="font-weight: 400;">Our initial tests of the VVC codec were run with the bare bones VTM encoder implementation without any adjustments, optimizations, or improvements. As the industry continues to develop the back-end tech to support h.266/VVC, we can expect that encoding times and computing power will decrease significantly in the very near future. Since the Bitmovin encoding team ran this first test, our academic and research arms ran additional tests at both the Alpen Adria University in Klagenfurt, as well as at the </span><a href="https://bitmovin.com/132nd-mpeg-meeting-takeaways/"><span style="font-weight: 400;">132nd MPEG meeting</span></a><span style="font-weight: 400;">. The next set of verification tests extended VVC’s capabilities to successfully encode ultra-high definition (UHD) content with standard dynamic range so that it can be used in newer streaming and broadcast television applications. The latest tests were run using the recently released open-source encoder implementation of VVC (VVenC), which displayed an additional 10% bitrate savings over the original VTM implementation. The Bitmovin encoding team plans to continue testing the VVC codec and adding new encoder implementations into our workflows &#8211; with expectations of officially launching VVC support sometime in the near future.</span></p>
<h2>Video technology guides and articles</h2>
<ul>
<li>Back to Basics: Guide to the <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 Video Tag </a></li>
<li><a href="https://bitmovin.com/vod-platforms/">What is a VoD Platform?</a>A comprehensive guide to Video on Demand (VOD)</li>
<li><a href="https://bitmovin.com/top-5-video-technology-trends/">Video Technology [2022]</a>: Top 5 video technology trends</li>
<li><a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC vs VP9</a>: Modern codecs comparison</li>
<li>What is the <a href="https://bitmovin.com/av1/">AV1 Codec</a>?</li>
<li>Video Compression: <a href="https://bitmovin.com/encoding-definition-bitrates/">Encoding Definition and Adaptive Bitrate</a></li>
<li>What is <a href="https://bitmovin.com/adaptive-streaming/">adaptive bitrate streaming</a></li>
<li><a href="https://bitmovin.com/mkv-vs-mp4/">MP4 vs MKV</a>: Battle of the Video Formats</li>
<li><a href="https://bitmovin.com/video-streaming-models-svod-avod-tvod/">AVOD vs SVOD</a>; the “fall” of SVOD and Rise of AVOD &amp; TVOD (Video Tech Trends)</li>
<li><a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG-DASH</a> (Dynamic Adaptive Streaming over HTTP)</li>
<li><a href="https://bitmovin.com/container-formats-fun-1/">Container Formats</a>: The 4 most common container formats and why they matter to you.</li>
<li><a href="https://bitmovin.com/qoe-why-quality-video-matters/">Quality of Experience</a> (QoE) in Video Technology [2022 Guide]</li>
</ul>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vvc-quality-comparison-hevc">State of Compression: Testing h.266/VVC vs h.265/HEVC</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Improving Time-to-Market: H264, HEVC, and VP9 Video Codec Presets</title>
		<link>https://bitmovin.com/h264-hevc-vp9-bitmovin-codec-presets</link>
		
		<dc:creator><![CDATA[Markus Hafellner]]></dc:creator>
		<pubDate>Tue, 08 Sep 2020 10:09:37 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=125839</guid>

					<description><![CDATA[<p>Launching a new or revamped OTT service requires a lot of complex back-end workflow builds, including, but not limited to moving to a new encoder. The process of implementing a new encoder can often add further complexity and consume time to configure the encoder to work for your specific use case. However, this doesn’t have...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/h264-hevc-vp9-bitmovin-codec-presets">Improving Time-to-Market: H264, HEVC, and VP9 Video Codec Presets</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-126351" src="https://bitmovin.com/wp-content/uploads/2020/09/Blog-Post-Codec-Presets-1024x512.png" alt="- Bitmovin" width="1024" height="512" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Blog-Post-Codec-Presets-300x150.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Blog-Post-Codec-Presets.png?size=384x192&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Blog-Post-Codec-Presets-768x384.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Blog-Post-Codec-Presets-1024x512.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Blog-Post-Codec-Presets.png?lossy=2&amp;strip=1&amp;webp=1 1080w" sizes="(max-width: 1024px) 100vw, 1024px" /><br />
<span style="font-weight: 400;">Launching a new or revamped OTT service requires a lot of complex back-end workflow builds, including, but not limited to moving to a new encoder. The process of implementing a new encoder can often add further complexity and consume time to configure the encoder to work for your specific use case. However, this doesn’t have to be the case, with Bitmovin’s codec presets (H264, HEVC, VP9) we make it easy to get started and launch to market much faster. Whether you are seeking quick turnaround times or the best quality resolution quality on the market, we’ve got you covered. Leave the arduous process of optimizing encoder settings to us and focus on your workflow instead.</span><br />
<a href="https://bitmovin.com/multi-codec-world-2020/"><span style="font-weight: 400;">Every codec</span></a><span style="font-weight: 400;"> offers a multitude of settings that will make it behave best for a specific use case or content type. While this gives developers a lot of flexibility, it also means that getting started with a new encoder, there is usually a very steep learning curve.</span></p>
<h2><span style="font-weight: 400;">Codec Presets for H264, HEVC, VP9</span></h2>
<p><span style="font-weight: 400;">The presets in Bitmovin’s dashboard for VoD and live content flattens this learning curve significantly. Every codec has its own configuration options and presets. At the time of this blog post, Bitmovin offered presets for H264/AVC, H265/HEVC, and VP9 to give you a quick start for the most supported/used codecs.</span><br />
<span style="font-weight: 400;">For an example of how to use the presets, you can check out our getting started guides. E.g. for Java:</span></p>
<p><figure id="attachment_126353" aria-describedby="caption-attachment-126353" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-126353 size-large" src="https://bitmovin.com/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40-1024x710.png" alt="Codec Presets-Code Snippet" width="1024" height="710" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40-300x208.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40.png?size=384x266&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40-768x532.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40-1024x710.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40-1536x1065.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/09/Screenshot-2020-09-08-at-10.52.40.png?lossy=2&amp;strip=1&amp;webp=1 1708w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-126353" class="wp-caption-text"><a href="https://bitmovin.com/docs/encoding/getting-started/java#step-5-create-codec-configurations">Source &#8211; Bitmovin Documentation</a></figcaption></figure></p>
<p>[bg_collapse view=&#8221;button-blue&#8221; color=&#8221;#fcfafa&#8221; icon=&#8221;arrow&#8221; expand_text=&#8221;View configuration input&#8221; collapse_text=&#8221;Hide configuration input&#8221; ]<br />
<b>H264VideoConfiguration videoCodecConfiguration1 = new H264VideoConfiguration();</b><br />
<b>videoCodecConfiguration1.setName(&#8220;Getting Started H264 Codec Config 1&#8221;);</b><br />
<b>videoCodecConfiguration1.setBitrate(1500000L);</b><br />
<b>videoCodecConfiguration1.setWidth(1024);</b><br />
<b>videoCodecConfiguration1.setPresetConfiguration(PresetConfiguration.VOD_STANDARD);</b><br />
<b>videoCodecConfiguration1 = bitmovinApi.encoding.configurations.video.h264.create(videoCodecConfiguration1);</b></p>
<p><b>H264VideoConfiguration videoCodecConfiguration2 = new H264VideoConfiguration();</b><br />
<b>videoCodecConfiguration2.setName(&#8220;Getting Started H264 Codec Config 2&#8221;);</b><br />
<b>videoCodecConfiguration2.setBitrate(1000000L);</b><br />
<b>videoCodecConfiguration2.setWidth(768);</b><br />
<b>videoCodecConfiguration2.setPresetConfiguration(PresetConfiguration.VOD_STANDARD);</b></p>
<p><b>videoCodecConfiguration2 = bitmovinApi.encoding.configurations.video.h264.create(videoCodecConfiguration2);</b></p>
<p><b>H264VideoConfiguration videoCodecConfiguration3 = new H264VideoConfiguration();</b><br />
<b>videoCodecConfiguration3.setName(&#8220;Getting Started H264 Codec Config 3&#8221;);</b><br />
<b>videoCodecConfiguration3.setBitrate(750000L);</b><br />
<b>videoCodecConfiguration3.setWidth(640);</b><br />
<b>videoCodecConfiguration3.setPresetConfiguration(PresetConfiguration.VOD_STANDARD);</b></p>
<p><b>videoCodecConfiguration3 = bitmovinApi.encoding.configurations.video.h264.create(videoCodecConfiguration3);</b><br />
[/bg_collapse]</p>
<h2><span style="font-weight: 400;">Our Promise</span></h2>
<p><span style="font-weight: 400;">As a promise to all of our customers, partners, and partners to help reduce their time to market while maintaining (or improving) your viewers’ Quality of Experience we made sure to </span><a href="https://bitmovin.com/vp9-vs-hevc-h265/"><span style="font-weight: 400;">invest a lot of time and resources</span></a><span style="font-weight: 400;"> to determine and provide select the best configuration combinations. As many settings are interdependent, creating an appropriate preset involves a lot of testing to arrive at the best possible configuration for your specific content. As a general rule of thumb, we recommend to only begin your optimization step once you have your general setup up and running.</span><br />
<span style="font-weight: 400;">However, the offered presets can be used as a starting point and can be extended/overwritten after launch to optimize for your specific use-case once you made yourself familiar with the available options and their impact on your content. To further ease your organization into the process of selecting a new encoder, we’ve listed our available presets at the links below:</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">All available H264 presets: </span><a href="https://bitmovin.com/docs/encoding/tutorials/h264-presets"><span style="font-weight: 400;">https://bitmovin.com/docs/encoding/tutorials/h264-presets</span></a></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">All available H265 presets:</span><a href="https://bitmovin.com/docs/encoding/tutorials/h265-presets"><span style="font-weight: 400;">https://bitmovin.com/docs/encoding/tutorials/h265-presets</span></a></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">All available VP9 presets: </span><a href="https://bitmovin.com/docs/encoding/tutorials/vp9-presets"><span style="font-weight: 400;">https://bitmovin.com/docs/encoding/tutorials/vp9-presets</span></a></li>
</ul>
<p><span style="font-weight: 400;">Shorten your time-to-market while maintaining a high quality of experience using Bitmovin’s encoder with Codec Presets. Do you want to learn more? Check some of our other great codec-oriented content:</span><br />
<span style="font-weight: 400;">[Blog] </span><a href="https://bitmovin.com/vp9-vs-hevc-h265/"><span style="font-weight: 400;">Battle of the Codecs: VP9 vs HEVC</span></a><br />
<span style="font-weight: 400;">[Blog] </span><a href="https://bitmovin.com/multi-codec-world-2020/"><span style="font-weight: 400;">Living in a Multi-Codec World</span></a><br />
<span style="font-weight: 400;">[E-Book] </span><a href="https://go.bitmovin.com/ultimate-guide-container-formats"><span style="font-weight: 400;">Ultimate Guide to Container Formats</span></a></p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/h264-hevc-vp9-bitmovin-codec-presets">Improving Time-to-Market: H264, HEVC, and VP9 Video Codec Presets</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>HEVC vs VP9: The Battle of the Video Codecs</title>
		<link>https://bitmovin.com/vp9-vs-hevc-h265</link>
		
		<dc:creator><![CDATA[Christian Feldmann]]></dc:creator>
		<pubDate>Wed, 05 Aug 2020 13:14:07 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=122232</guid>

					<description><![CDATA[<p>For an APAC live event, our video coding engineer Christian Feldmann compared the HEVC (H.265) vs VP9. During the session, we discussed the fundamental differences between the two “modern codecs” and tied it off with an early analysis of each codec’s performance. These results were obtained using the open-source encoders libvpx-vp9, x264, and x265. This...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vp9-vs-hevc-h265">HEVC vs VP9: The Battle of the Video Codecs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-122249" src="https://bitmovin.com/wp-content/uploads/2020/08/Blog-Post-VP9vsHEVC-social-1-1024x512.png" alt="- Bitmovin" width="1024" height="512"><br />
<span style="font-weight: 400;">For an APAC live event, our video coding engineer Christian Feldmann compared the HEVC (H.265) vs </span><span style="font-weight: 400;">VP9</span><span style="font-weight: 400;">. </span><br />
<span style="font-weight: 400;">During the session, we discussed the fundamental differences between the two “modern codecs” and tied it off with an early analysis of each codec’s performance. </span><br />
<span style="font-weight: 400;">These results were obtained using the open-source encoders libvpx-vp9, x264, and x265. </span><br />
<span style="font-weight: 400;">This article delves into that experiment and shares the results of Christian&#8217;s research.</span></p>
<h2><span style="font-weight: 400;">VP9 vs HEVC: The encoding setup</span></h2>
<h3><span style="font-weight: 400;">Software</span></h3>
<p><span style="font-weight: 400;">For the test I used the following: </span></p>
<ul>
<li><span style="font-weight: 400;">libvpx-vp9 encoder (version 1.8.2) for VP9 encoding</span></li>
<li><span style="font-weight: 400;">x264 encoder (tag235ce6130168f4deee55c88ecda5ab84d81d125b) for h.264/AVC encoding</span></li>
<li><span style="font-weight: 400;">x265 encoder (version 3.2) for h.265/HEVC encoding. </span></li>
</ul>
<p><span style="font-weight: 400;">I also compiled libvmaf (version 1.5.1) and ffmpeg (version 4.2.3) to run the encoders and perform PSNR, SSIM and VMAF measurements. </span><br />
<span style="font-weight: 400;">If you want to recreate the same execution environment: I used Docker to build it so you can recreate the exact same environment using my Dockerfile which can be found </span><a href="https://drive.google.com/file/d/1wbUA56vB-LeH2H8nV-EGzhJPWW7ikkwx/view" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">here</span></a><span style="font-weight: 400;">.</span></p>
<h3><span style="font-weight: 400;">Test set</span></h3>
<p><span style="font-weight: 400;">For the test set I used Full HD and 4K sequences from the JEVT SDR test set [1] which was also used in the standardization of </span><a href="https://en.wikipedia.org/wiki/Versatile_Video_Coding" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">VVC</span></a><span style="font-weight: 400;">. </span><br />
<span style="font-weight: 400;">Some of these sequences are well known and were already used in several prior standardization activities. All sequences are 10 seconds long and used in YUV 4:2:0 subsampling. </span><br />
<span style="font-weight: 400;">The sequences are as follows:</span><br />
&nbsp;<br />
<figure id="attachment_122243" aria-describedby="caption-attachment-122243" style="width: 360px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-122243" src="https://bitmovin.com/wp-content/uploads/2020/08/Screenshot-2020-08-05-at-14.46.28-280x300.png" alt="VP9 vs HEVC Encoding test set sequence table" width="360" height="385" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/08/Screenshot-2020-08-05-at-14.46.28-280x300.png?lossy=2&amp;strip=1&amp;webp=1 280w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2020/08/Screenshot-2020-08-05-at-14.46.28.png?lossy=2&amp;strip=1&amp;webp=1 744w" sizes="(max-width: 360px) 100vw, 360px" /><figcaption id="caption-attachment-122243" class="wp-caption-text">JEVT SDR HD &amp; 4K Sequences</figcaption></figure></p>
<h3><span style="font-weight: 400;">Encoding</span></h3>
<p><span style="font-weight: 400;">For <a href="https://bitmovin.com/encoding-definition-bitrates/">encoding</a>, I used default settings with ffmpeg. All encodings implemented 2-pass encoding with a set target bitrate. The corresponding ffmpeg calls look like this: </span></p>
<pre><span style="font-weight: 400;">ffmpeg -i input.yuv -c:v libx264 -preset veryslow -b:v br --pass 1/2 enc.mp4</span>
<span style="font-weight: 400;">ffmpeg -i input.yuv -c:v libx265 -preset slow -b:v br --pass 1/2 enc.mp4</span>
<span style="font-weight: 400;">ffmpeg -i input.yuv -c:v libvpx-vp9 -b:v br --pass 1/2 enc.mp4
</span></pre>
<h3><span style="font-weight: 400;">Presets</span></h3>
<p><span style="font-weight: 400;">I used the following presets for each encoder:</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">x264 &#8211; <i>very slow</i></span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">X265 &#8211; </span><i><span style="font-weight: 400;">slow</span></i><span style="font-weight: 400;"> </span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">libvpx-vp9 no preset was chosen (which corresponds to a cpu-used value of 1)</span></li>
</ul>
<p><span style="font-weight: 400;">These settings were chosen from experience. While they do not yield the highest possible compression performance, they correspond to a very high quality encode with a good trade-off between encoding time and quality. </span><br />
<span style="font-weight: 400;">The encodings were performed under two scenarios:</span></p>
<ol>
<li style="font-weight: 400;"><b>Fixed Resolution: </b><span style="font-weight: 400;">no scaling is applied. Encoding was performed at the resolution of the original sequence with various different target bitrates. The bitrates for x265 and libvpx-vp9 were: 4.8 Mbit/s, 2.4 Mbit/2, 1.8 Mbit/2, 1.2 Mbit/s and 0.8 Mbit/s. For x264, these values were multiplied by a factor of two. Based on the pixel count, another factor of four was applied to the bitrates for the 4K encodes.</span></li>
<li style="font-weight: 400;"><b>Bitrate Ladder: </b><span style="font-weight: 400;">Encoding was performed at a range of different resolutions and bitrates also referred to as a </span><i><span style="font-weight: 400;">bitrate ladder</span></i><span style="font-weight: 400;">. These were: 1920&#215;1080 at 4.8Mbit/s, 1920&#215;1080 at 2.4Mbit/s, 1280&#215;720 at 1.8Mbit/s, 1280&#215;720 at 1.2Mbit/s, 854&#215;480 at 0.8 Mbit/s, 640&#215;360 at 0.4 Mbit/s and 426&#215;240 at 0.2 Mbit/s. For the 4K encodes, two additional points with 3840&#215;2160 at 19.2 Mbit/s and 9.6 Mbit/s were added. As in the first scenario, the bitrates were multiplied by a factor of two for x264. The final measurement step was performed after upsampling back to the resolution of the original source. The default scaling algorithm is </span><i><span style="font-weight: 400;">bicubic</span></i><span style="font-weight: 400;">.</span></li>
</ol>
<h2><span style="font-weight: 400;">Results</span></h2>
<p><span style="font-weight: 400;">For each encoding, multiple different measurements were performed. </span><br />
<span style="font-weight: 400;">In the cases where encoding was performed at a lower spatial resolution, the measurement was performed after upscaling the reconstruction back to the resolution of the source. </span><br />
<span style="font-weight: 400;">PSNR and SSIM measurements were performed for the three components (Y/U/V) as well as an averaged value. VMAF was calculated as well. For the 4k source files, the 4k VMAF model was applied. </span><br />
<span style="font-weight: 400;">For the encoding time, I measured the absolute elapsed time as well as the CPU time per thread. This is a sample plot for the sequence “MarketPlace” in the fixed resolution scenario (<strong>hover over image to zoom</strong>):</span><br />
<figure id="attachment_122245" aria-describedby="caption-attachment-122245" style="width: 720px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="zoooom wp-image-122245" src="https://bitmovin.com/wp-content/uploads/2020/08/VP9-vs-HEVC-visual-quality-measurements-sample-plot-grapgs-1-1024x526.png" alt="VP9 vs HEVC visual quality measurements sample plot graphs" width="720" height="370" /><figcaption id="caption-attachment-122245" class="wp-caption-text">Fixed resolution results for the Sequence MarketPlace.</figcaption></figure></p>
<h3><span style="font-weight: 400;">Coding performance</span></h3>
<p><span style="font-weight: 400;">For both scenarios I calculated BD-rate results for the average PSNR, average SSIM, and VMAF values relative to x264 [2]: </span><br />
<figure id="attachment_122246" aria-describedby="caption-attachment-122246" style="width: 720px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-122246" src="https://bitmovin.com/wp-content/uploads/2020/08/Screenshot-2020-08-05-at-14.58.23-1-1024x288.png" alt="BD-Rate Encoding results for PSNR, SSIM, and VMAF table" width="720" height="203" /><figcaption id="caption-attachment-122246" class="wp-caption-text">Averaged BD-Rate results for PSNR, SSIM, and VMAF compared to x264 for both scenarios.</figcaption></figure><br />
<span style="font-weight: 400;"><br />
As one can see the libvpx-vp9 encoder is able to compete with x265 very well when it comes to coding performance. </span><br />
<span style="font-weight: 400;">However, the PSNR and SSIM based BD values are consistently higher for libvpx-vp9 and the VMAF-based BD-rate values are higher for x265 in the fixed resolution scenario. </span><br />
<span style="font-weight: 400;">In the bitrate ladder scenario, both encoders show very similar results.</span><br />
<span style="font-weight: 400;">What is surprising is that the default x265 configuration seems to use a much lower QP for the color components (U/V) compared to the other two encoders. However, because of the way the average values are calculated, this does not have a huge impact on the BD results.</span></p>
<h3><span style="font-weight: 400;">VP9 vs HEVC Complexity Levels</span></h3>
<p><span style="font-weight: 400;">For all encodings, I also measured the overall runtime of the encoding as well as the CPU-time per thread. Both of these values can give us an indication of how well the encoders can utilize multiple cores. </span><br />
<span style="font-weight: 400;">All tests were performed on an Intel 6 core (12 thread) processor. The results for x265 and libvpx-vp9 were taken relative to the values of x264 and then averaged. </span><br />
<em><strong>The following table displays the relative factors compared to x264:</strong></em><br />
<figure id="attachment_122247" aria-describedby="caption-attachment-122247" style="width: 720px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-122247" src="https://bitmovin.com/wp-content/uploads/2020/08/Screenshot-2020-08-05-at-15.00.09-1-1024x351.png" alt="VP9 vs HEVC runtime and CPU time comparison table" width="720" height="247" /><figcaption id="caption-attachment-122247" class="wp-caption-text">Runtime factors relative to x264 for absolute runtime and CPU time.</figcaption></figure><br />
<span style="font-weight: 400;">While both x265 and libvpx-vp9 have higher runtimes compared to x264, we can see that x265 is much better at utilizing available threads efficiently, which results in much lower values for the overall runtime factors. </span><br />
<span style="font-weight: 400;">When it comes to the CPU time, libvpx-vp9 has an advantage over x265 in the tested configuration. Similar observations can be made of the table above. </span><br />
<span style="font-weight: 400;">So depending on your application this may be a disadvantage or not. For example, since our encoder uses multiple vectors to utilize the available threads efficiently this behavior is not a big disadvantage for us. </span></p>
<h2><span style="font-weight: 400;">Files</span></h2>
<p><span style="font-weight: 400;">Finally, I would like to provide all the files needed in order to recreate the results. </span><br />
<span style="font-weight: 400;">Furthermore, the archive includes all the result files that were used to determine my findings. I encourage everybody to double-check them. </span><br />
<span style="font-weight: 400;">However, for legal reasons, I can not provide the encoded video sequences or the original uncompressed YUV test sequences. </span><br />
<span style="font-weight: 400;">The archive includes the following scripts which should be helpful:</span></p>
<ul>
<li><b>Test shell scripts: <span style="font-weight: 400;">These scripts were used to perform the encoding and the measurements in the docker container. Please feel free to use these in your own tests.</span></b></li>
<li><b>Python scripts: <span style="font-weight: 400;">The python scripts were used to calculate the BD results (</span><i><span style="font-weight: 400;">calculateBDResults.py</span></i><span style="font-weight: 400;">), to plot the measured values per sequence (</span><i><span style="font-weight: 400;">plotResults.py</span></i><span style="font-weight: 400;">) and to plot the results per frame (</span><i><span style="font-weight: 400;">plotPerFrameResults.py</span></i><span style="font-weight: 400;">). Please use these scripts to take a detailed look at the results. You require python 3 and matplotlib installed. Each script must be called with the name of a sub-folder that should be plotted.</span></b></li>
</ul>
<p><span style="font-weight: 400;">File:</span><br />
<a href="https://drive.google.com/file/d/1wbUA56vB-LeH2H8nV-EGzhJPWW7ikkwx/view?usp=sharing" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">https://drive.google.com/file/d/1wbUA56vB-LeH2H8nV-EGzhJPWW7ikkwx/view?usp=sharing</span></a></p>
<h2><span style="font-weight: 400;">Summary</span></h2>
<p><span style="font-weight: 400;">While this is just a quick and superficial encoder comparison, I tried to keep it close to practical applications. From the VP9 vs HEVC test here, libvpx-vp9 is able to take on x265 when it comes to coding performance. </span><br />
<span style="font-weight: 400;">Please note that only these encoders were tested and there are other AVC, HEVC, and VP9 encoders out there which may perform better.</span><br />
<span style="font-weight: 400;">If you have additional inputs to the test please reach out to me! I am very willing to run this again using a different set of settings. </span></p>
<h2><span style="font-weight: 400;">References</span></h2>
<p><span style="font-weight: 400;">[1] &#8211; A. Segall, E. François, W. Husak, S. Iwamura, D. Rusanovskyy &#8211; JVET common test conditions and evaluation procedures for HDR/WCG video &#8211; </span><a href="http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=8862" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">JVET-P2011</span></a><span style="font-weight: 400;"> </span><br />
<span style="font-weight: 400;">[2] &#8211; Gisle Bjontegaard &#8211; Calculation of average PSNR differences between RD-curves &#8211; VCEG-M33 Austin, Texas, USA, 2-4 April 2001</span></p>
<h2><strong>More video technology guides and articles:</strong></h2>
<div class="col-12-12 mob-1-1">
<div class="entry-content">
<ul>
<li><a href="https://bitmovin.com/encoding-definition-bitrates/">Encoding Definition and Adaptive Bitrate</a>: Video Compression Guide</li>
<li>Back to Basics: Guide to the <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 Video Tag </a></li>
<li><a href="https://bitmovin.com/vod-platforms/">What is a VoD Platform?</a> A comprehensive guide to Video on Demand (VOD)</li>
<li><a href="https://bitmovin.com/top-5-video-technology-trends/">Video Technology [2022]</a>: Top 5 video technology trends</li>
<li><a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC vs VP9</a>: Modern codecs comparison</li>
<li>What is the <a href="https://bitmovin.com/av1/">AV1 Codec</a>?</li>
</ul>
</div>
</div>
<h2><strong>Did you know?</strong></h2>
<p>Bitmovin has a range of <a href="https://bitmovin.com/vod-platforms/">VOD</a> services that can help you deliver content to your customers effectively.<br />
Its variety of features allows you to create content tailored to your specific audience, without the stress of setting everything up yourself. Built-in analytics also help you make technical decisions to deliver the optimal user experience.<br />
Why not <a href="https://bitmovin.com/dashboard/signup?email=">try Bitmovin for Free</a> and see what it can do for you.</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vp9-vs-hevc-h265">HEVC vs VP9: The Battle of the Video Codecs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Best Video Codec: An Evaluation of AV1, AVC, HEVC and VP9</title>
		<link>https://bitmovin.com/av1-multi-codec-dash-dataset</link>
		
		<dc:creator><![CDATA[Christian Feldmann]]></dc:creator>
		<pubDate>Fri, 20 Mar 2020 19:59:40 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[av1]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=22726</guid>

					<description><![CDATA[<p>  This scientific evaluation puts AV1 to the test against industry standard codecs and shows that AV1 is able to outperform VP9 and even HEVC by up to 40% Introduction For practical Over-the-top (OTT) streaming applications it is mostly necessary to supply streams using multiple different video codec standards in order to stream to a wide...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/av1-multi-codec-dash-dataset">Best Video Codec: An Evaluation of AV1, AVC, HEVC and VP9</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-code"><code>Did you know our <a href="https://bitmovin.com/video-player/" data-type="URL" data-id="https://bitmovin.com/video-player/">video player</a> guarantees playback quality on any screen through our modular architecture, including low-latency, configurable ABR and Stream Lab, the world’s first stream QoE testing service? Check out the <a href="https://bitmovin.com/video-player/" data-type="URL" data-id="https://bitmovin.com/video-player/">Bitmovin Player</a> to learn more.</code></pre>


<h2> <img loading="lazy" decoding="async" class="size-full wp-image-22747 alignnone" src="https://bitmovin.com/wp-content/uploads/2018/03/Av1-Banner.jpg" alt="AV1 40% more efficient that HEVC" width="800" height="361" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/Av1-Banner-300x135.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/Av1-Banner.jpg?size=384x173&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/Av1-Banner-768x347.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/Av1-Banner.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></h2>
<blockquote>
<p>This scientific evaluation puts AV1 to the test against industry standard codecs and shows that AV1 is able to outperform <a href="https://bitmovin.com/mpeg-dash-vp9-vod-live/">VP9</a> and even HEVC by up to 40%</p>
</blockquote>
<h2>Introduction</h2>
<p><span style="font-weight: 400;">For practical Over-the-top (OTT) streaming applications it is mostly necessary to supply streams using multiple different video codec standards in order to stream to a wide range of devices and platforms. </span></p>
<p><span style="font-weight: 400;">The most commonly used video codes in this scenario are AVC, VP9 and HEVC. With the standardization of AV1, another modern video coding standard is joining in. </span></p>
<p><span style="font-weight: 400;">While AVC offers the best compatibility across devices and platforms, the newer standards such as HEVC and AV1 offer a much higher compression efficiency and thereby also a better user experience. </span></p>
<p><span style="font-weight: 400;">Another key difference between the codecs is that VP9 and AV1 were developed with the goal of being open source and freely available for anybody to implement and use without any royalties while AVC and HEVC require a royalty to be paid. </span></p>
<p><span style="font-weight: 400;">The multi-codec dataset presented here adopts the aforementioned standards in a practical OTT adaptive streaming scenario. The full dataset is freely available online (</span><a href="http://www.itec.aau.at/ftp/datasets/mmsys18/" rel="nofollow noopener" target="_blank"><span style="font-weight: 400;">http://www.itec.aau.at/ftp/datasets/mmsys18/</span></a><span style="font-weight: 400;">). For an in-depth description of the dataset, please reference (<a href="https://arxiv.org/abs/1803.06874" rel="nofollow noopener" target="_blank">https://arxiv.org/abs/1803.06874</a>).</span></p>
<h2>The Dataset</h2>
<p><span style="font-weight: 400;">Since the main focus is on an HTTP Adaptive Streaming (HAS) dataset, we adopted a set of bitrate/resolution pairs &#8211; referred to as the </span><i><span style="font-weight: 400;">bitrate ladder</span></i><span style="font-weight: 400;"> &#8211; with a range from very low bitrates/resolutions of 100 kbits at 256&#215;144 pixels up to 4k resolutions at 20 megabits. </span></p>
<p><span style="font-weight: 400;">This is a well-established approach for OTT streaming applications. </span></p>
<p><span style="font-weight: 400;">For the video sequences, we tried to cover a range of video sequences with different properties. For this, we calculated the spatial and temporal information so that the sequences contain different amounts of motion and texture.</span></p>
<p><span style="font-weight: 400;">For the adaptive streaming encoding, a size per segment of 2, as well as 4 seconds, was used. </span></p>
<p><span style="font-weight: 400;">For AV1 encoding a snapshot of the reference software was used (v0.1.0-7691-g84dc6e9). For the encoding, the cpu_used preset was set to 2. </span></p>
<p><span style="font-weight: 400;">The encoding for AVC, HEVC, and VP9 was performed utilizing ffmpeg and, thus, libx264, libx265, and libvpx-vp9 are used. For these codecs, encoding performed with the </span><i><span style="font-weight: 400;">slow </span></i><span style="font-weight: 400;">preset. For all codecs, a two-pass scheme is employed. </span></p>
<p><span style="font-weight: 400;">Encoding of the AV1 bitstreams according to these specifications was performed by the Institute of Information Technology at the Alpen-Adria Universität Klagenfurt. Encodings using the other codecs AVC, HEVC, and VP9 was carried out by Bitmovin using the </span><a href="https://bitmovin.com/encoding-service/"><span style="font-weight: 400;">Bitmovin Video Encoding</span></a><span style="font-weight: 400;"> cloud infrastructure. </span></p>
<p><span style="font-weight: 400;">All bitstreams were then collected and jointly evaluated.</span></p>
<h2>The Evaluation</h2>
<p><span style="font-weight: 400;">For evaluation, the reconstruction at lower resolutions was upscaled to the original resolution and the weighted PSNR relative to the original source was calculated ((6*Y+U+V)/8). </span></p>
<p><span style="font-weight: 400;">From these values we calculated the corresponding Bjøntegaard-Delta bit-rate (BD-rate) values. </span></p>
<p><span style="font-weight: 400;">When calculated over the entire bitrate ladder, we were able to observe an average bitrate reduction of AV1 compared to VP9 of 13% and compared to HEVC of 17%. </span></p>
<p><span style="font-weight: 400;">When we focus on the higher part of the bitrate ladder, the BD-rate reduction compared to VP9 increases to 22%-27% while compared to HEVC, the reduction increases to 30%-43%. </span></p>
<p><span style="font-weight: 400;">It should be noted that because of the fixed bitrate ladder, the overlap becomes rather small for the highest resolutions in some sequences and the results should therefore be interpreted with some caution. </span></p>
<p><span style="font-weight: 400;">This could definitely be improved by adapting the bitrate ladder to the properties of the different sequences.</span><br /><img loading="lazy" decoding="async" class="alignnone size-full wp-image-22797" src="https://bitmovin.com/wp-content/uploads/2018/03/chart-1.jpg" alt="- Bitmovin" width="576" height="356" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-1-300x185.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-1.jpg?size=384x237&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-1.jpg?lossy=2&amp;strip=1&amp;webp=1 576w" sizes="(max-width: 576px) 100vw, 576px" /><br /><img loading="lazy" decoding="async" class="alignnone size-full wp-image-22798" src="https://bitmovin.com/wp-content/uploads/2018/03/chart-2.jpg" alt="- Bitmovin" width="658" height="371" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-2-300x169.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-2.jpg?size=384x217&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/03/chart-2.jpg?lossy=2&amp;strip=1&amp;webp=1 658w" sizes="(max-width: 658px) 100vw, 658px" /></p>
<h2>Conclusion</h2>
<p><span style="font-weight: 400;">The dataset is meant to offer a first HLS set environment for the emerging video coding standard AV1 and the other in OTT applications most frequently used codecs AVC, VP9 and HEVC. </span></p>
<p><span style="font-weight: 400;">The coding performance results for this test set indicate, that AV1 is able to outperform VP9 and even HEVC by up to 40%. </span></p>
<p><span style="font-weight: 400;">Please note that this evaluation </span><span style="font-weight: 400;">primarily targets HAS services and has a very specific setup. </span></p>
<p><span style="font-weight: 400;">While it can give an indication on the coding performance of AV1, the results should be interpreted with caution.</span></p>
<h2><strong>Video technology guides and articles</strong></h2>
<ul>
<li>Back to Basics: Guide to the <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 Video Tag </a></li>
<li><a href="https://bitmovin.com/vod-platforms/">What is a VoD Platform?</a>A comprehensive guide to Video on Demand (VOD)</li>
<li><a href="https://bitmovin.com/top-5-video-technology-trends/">Video Technology [2023]</a>: Top 5 video technology trends</li>
<li><a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC vs VP9</a>: Modern codecs comparison</li>
<li>What is the <a href="https://bitmovin.com/av1/">AV1 Codec</a>?</li>
<li>Video Compression: <a href="https://bitmovin.com/encoding-definition-bitrates/">Encoding Definition and Adaptive Bitrate</a></li>
<li>What is <a href="https://bitmovin.com/adaptive-streaming/">adaptive bitrate streaming</a></li>
<li><a href="https://bitmovin.com/mkv-vs-mp4/">MP4 vs MKV</a>: Battle of the Video Formats</li>
<li><a href="https://bitmovin.com/video-streaming-models-svod-avod-tvod/">AVOD vs SVOD</a>; the “fall” of SVOD and Rise of AVOD &amp; TVOD (Video Tech Trends)</li>
<li><a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG-DASH</a> (Dynamic Adaptive Streaming over HTTP)</li>
<li><a href="https://bitmovin.com/container-formats-fun-1/">Container Formats</a>: The 4 most common container formats and why they matter to you.</li>
<li><a href="https://bitmovin.com/qoe-why-quality-video-matters/">Quality of Experience</a> (QoE) in Video Technology [2023 Guide]</li>
</ul><p>The post <a rel="nofollow" href="https://bitmovin.com/av1-multi-codec-dash-dataset">Best Video Codec: An Evaluation of AV1, AVC, HEVC and VP9</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Efficient Multi-Codec Support for OTT Services: H.264/HEVC/VP9 and/or AV1?</title>
		<link>https://bitmovin.com/higher-quality-lower-bandwidth-multi-codec-streaming</link>
		
		<dc:creator><![CDATA[Bitmovin]]></dc:creator>
		<pubDate>Thu, 21 Dec 2017 15:47:01 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[av1]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[multi-codec streaming]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=22041</guid>

					<description><![CDATA[<p>By encoding your videos using a multi-codec approach you can double the quality while still reducing your bandwidth consumption and maintaining maximum device reach. In the spectrum of online video, you probably already know that H.264 (also known as AVC) is ubiquitous. Nearly every device and operating system supports decoding either on hardware or software....</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/higher-quality-lower-bandwidth-multi-codec-streaming">Efficient Multi-Codec Support for OTT Services: H.264/HEVC/VP9 and/or AV1?</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-22081 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/800-multi-codec.jpg" alt="Multi-codec streaming is an effective way to reduce bandwidth and CDN costs" width="800" height="299" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-codec-300x112.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-codec.jpg?size=384x144&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-codec-768x287.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-codec.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<blockquote><p>By encoding your videos using a multi-codec approach you can double the quality while still reducing your bandwidth consumption and maintaining maximum device reach.</p></blockquote>
<p>In the spectrum of online video, you probably already know that H.264 (also known as AVC) is ubiquitous. Nearly every device and operating system supports decoding either on hardware or software. Although this compression technology is widely supported, which is a significant advantage, it is nowhere near as efficient as the next generation codecs in terms of compression rate.<br />
According to <a href="https://medium.com/netflix-techblog/a-large-scale-comparison-of-x264-x265-and-libvpx-a-sneak-peek-2e81e88f8b0f" target="_blank" rel="noopener noreferrer nofollow">Netflix&#8217; experiments</a>, H.265 (also known as HEVC) can deliver up to 50% bitrate savings when compared to previous generation codecs like H.264/AVC. Besides Apple devices equipped with iOS 11 and macOS High Sierra, H.265 is also supported by most 4K SmartTVs and Microsoft Edge for Windows 10 (with hardware decoder present in the device).<br />
Similar to H.265, VP9 is another great option when it comes to reducing bandwidth consumption or delivering higher quality with the same bitrate. Bitrate savings can reach <a href="https://youtube-eng.googleblog.com/2015/04/vp9-faster-better-buffer-free-youtube.html" target="_blank" rel="noopener noreferrer nofollow">up to 50% compared to H.264</a>, dramatically lowering your CDN costs. VP9 is supported on multiple platforms including Google Chrome, Firefox, Microsoft Edge and Android devices.<br />
Roughly 83% of the internet users in the US could be reached with VP9 and HEVC. The remaining 17% would fall back to H.264 and you would still have complete coverage of every browser. The table below shows the browser market share for desktop and mobile.</p>
<table width="100%">
<tbody>
<tr>
<th><b>Browser</b></th>
<th><b>Market share in US (%)</b></th>
<th><b>Codecs supported</b></th>
</tr>
<tr>
<td><span style="font-weight: 400;">Google Chrome</span></td>
<td><span style="font-weight: 400;">57.27%</span></td>
<td><b>H.264, VP9</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Mozilla Firefox</span></td>
<td><span style="font-weight: 400;">7.70%</span></td>
<td><b>H.264, VP9</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Safari</span></td>
<td><span style="font-weight: 400;">15.88%</span></td>
<td><b>H.264, H.265*</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Microsoft Edge</span></td>
<td><span style="font-weight: 400;">2.13%</span></td>
<td><b>H.264, H.265, VP9**</b></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Internet Explorer</span></td>
<td><span style="font-weight: 400;">7.28%</span></td>
<td><b>H.264</b></td>
</tr>
</tbody>
</table>
<p>Source: <a href="https://www.netmarketshare.com/browser-market-share.aspx?options=%7B%22filter%22%3A%7B%22%24and%22%3A%5B%7B%22deviceType%22%3A%7B%22%24in%22%3A%5B%22Desktop%2Flaptop%22%2C%22Mobile%22%2C%22Tablet%22%2C%22TV%22%5D%7D%7D%5D%7D%2C%22dateLabel%22%3A%22Trend%22%2C%22attributes%22%3A%22share%22%2C%22group%22%3A%22browser%22%2C%22sort%22%3A%7B%22share%22%3A-1%7D%2C%22id%22%3A%22browsersDesktop%22%2C%22dateInterval%22%3A%22Monthly%22%2C%22dateStart%22%3A%222016-12%22%2C%22dateEnd%22%3A%222017-11%22%2C%22segments%22%3A%22-1000%22%7D" target="_blank" rel="noopener noreferrer nofollow">netmarketshare</a>.<br />
* Only available in Safari for iOS 11 and macOS High Sierra.<br />
** Only available in <a href="https://blogs.windows.com/msedgedev/2016/04/18/webm-vp9-and-opus-support-in-microsoft-edge/" target="_blank" rel="noopener noreferrer nofollow">Edge 14.14291</a>.</p>
<div class="engbtn"><a href="https://bitmovin.com/contact-bitmovin/">Talk to a Bitmovin Video Expert About Multi-Codec Streaming</a></div>
<h2>Codec comparison</h2>
<p>The figure below shows a side-by-side codec comparison. Maintaining the same visual quality, a Full HD content could be encoded at 4 Mbit/s (50% less than H.264) with H.265/HEVC and VP9.<br />
<a href="https://bitmovin.com/wp-content/uploads/2017/12/comparison-vp9-hevc-h264.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-22042 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/comparison-vp9-hevc-h264.jpg" alt="Compare quality between VP9, HAVC and H.264" width="800" height="467" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/comparison-vp9-hevc-h264-300x175.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/comparison-vp9-hevc-h264.jpg?size=384x224&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/comparison-vp9-hevc-h264-768x448.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/comparison-vp9-hevc-h264.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h2>Saving potential exemplified</h2>
<p>As previously stated, roughly 83% of the internet users in the US could be reached with H.265 or VP9, thus benefiting both end users by consuming less bandwidth and also streaming companies by reducing CDN costs. Considering 50% of bandwidth reduction by leveraging these codecs your total saving potential would be of 42%. Under those circumstances, let&#8217;s picture the scenario described in the table below:</p>
<table width="100%">
<tbody>
<tr>
<td><b>CDN distribution cost per GB</b></td>
<td><span style="font-weight: 400;">0,025 USD</span></td>
</tr>
<tr>
<td><b>Video watched time (average)</b></td>
<td><span style="font-weight: 400;">10 minutes</span></td>
</tr>
<tr>
<td><b>Views</b></td>
<td><span style="font-weight: 400;">1,000,000</span></td>
</tr>
<tr>
<th style="text-align: center;" colspan="2"><b>H.265 consumption &#8211; 1080p @ 4Mbit/s</b></th>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">10 minutes = 600 seconds</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">600 seconds * 4 Mbit/s = 2400 Mbit</span></li>
</ol>
</td>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">2400 Mbit = 300 MB</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">300 MB = 0,3 GB</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">0,3 GB * 0,025 USD = 0,0075 USD per view</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">1,000,000 * Assuming 18% of views consuming H.265 = 180,000 views</span></li>
</ol>
</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><span style="font-weight: 400;">0,0075 USD per view * 180,000 = </span><b>1,350.00 USD</b></td>
</tr>
<tr>
<th style="text-align: center;" colspan="2"><b>VP9 &#8211; 1080p @ 4 Mbit/s</b></th>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">10 minutes = 600 seconds</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">600 seconds * 4 Mbit/s = 2400 Mbit</span></li>
</ol>
</td>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">2400 Mbit = 300 MB</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">300 MB = 0,3 GB</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">0,3 GB * 0,025 USD = 0,0075 USD per view</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">1,000,000 * Assuming 65% of views consuming VP9 = 650,000 views</span></li>
</ol>
</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><span style="font-weight: 400;">0,0075 USD per view * 650,000 = </span><b>4,875.00 USD</b></td>
</tr>
<tr>
<th style="text-align: center;" colspan="2"><b>H.264 consumption &#8211; 1080p @ 8Mbit/s</b></th>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">10 minutes = 600 seconds</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">600 seconds * 8 Mbit/s = 4800 Mbit</span></li>
</ol>
</td>
</tr>
<tr>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">4800 Mbit = 600 MB</span></li>
</ol>
</td>
<td>
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">600 MB = 0,6 GB</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">0,6 GB * 0,025 USD = 0,015 USD per view</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2">
<ol>
<li style="font-weight: 400;"><span style="font-weight: 400;">1,000,00 * Assuming 17% of views falling back to H.264 = 170,000 views</span></li>
</ol>
</td>
</tr>
<tr>
<td colspan="2"><span style="font-weight: 400;">0,015 USD per view * 170,000 views = </span><b>2,550.00 USD</b></td>
</tr>
<tr>
<td colspan="2"><span style="font-weight: 400;">Total CDN cost with H.264-only streaming: 15,000.00 USD</span></td>
</tr>
<tr>
<td colspan="2"><span style="font-weight: 400;">Total CDN cost with multi-codec streaming: 8,775.00 USD</span></td>
</tr>
<tr>
<td colspan="2"><b>Total savings: 6,225.00 USD</b></td>
</tr>
</tbody>
</table>
<h2>How to implement multi-codec streaming with Bitmovin</h2>
<p>Now that we have established the effectiveness of a multi-codec approach on your online video strategy we can jump right into the “how to” section of the article. First of all let&#8217;s evaluate what we can do on the encoding side.<br />
With the Bitmovin API you can encode your content with different codecs like H.264/AVC, H.265/HEVC, VP8, VP9, and recently also <a href="https://bitmovin.com/bitmovin-av1-encoding-and-streaming/">AV1</a>. Ultimately the output can be MPEG-DASH, HLS, Microsoft Smooth and/or progressive MP4/WebM/TS.</p>
<blockquote><p>To work with the Bitmovin API we have API clients for all the major programming languages. Visiting our Github page you will find all of them as well as code examples. For this particular topic of multi-codec streaming we have this <a href="https://github.com/bitmovin/bitmovin-java/blob/develop/src/test/java/com/bitmovin/api/examples/CreateMultiCodecEncodingWithDashHls.java" rel="nofollow noopener" target="_blank">Java API Client example</a> which covers everything that is being presented in this article.</p></blockquote>
<p>Each video and audio stream encoded using a given codec needs to be wrapped in a container. A container/muxing supports multiple streams, such as audio and video tracks. For adaptive streaming formats such as MPEG-DASH and HLS it is common to have separated muxings for audio and videos, however, for progressive formats obviously audio and video tracks needs to be muxed altogether. The table below shows the containers that can be used for each of the codecs.</p>
<table width="100%">
<tbody>
<tr>
<th><b>Output</b></th>
<th><b>Codec</b></th>
<th><b>Container (muxing)</b></th>
</tr>
<tr>
<td rowspan="2"><span style="font-weight: 400;">HLS</span></td>
<td><span style="font-weight: 400;">H.264</span></td>
<td><span style="font-weight: 400;">fMP4, TS</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">H.265</span></td>
<td><span style="font-weight: 400;">fMP4</span></td>
</tr>
<tr>
<td rowspan="3"><span style="font-weight: 400;">MPEG-DASH</span></td>
<td><span style="font-weight: 400;">H.264</span></td>
<td><span style="font-weight: 400;">fMP4</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">H.265</span></td>
<td><span style="font-weight: 400;">fMP4</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">VP9</span></td>
<td><span style="font-weight: 400;">WebM</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">Microsoft Smooth Streaming</span></td>
<td><span style="font-weight: 400;">H.264</span></td>
<td><span style="font-weight: 400;">MP4</span></td>
</tr>
<tr>
<td rowspan="3"><span style="font-weight: 400;">Progressive</span></td>
<td><span style="font-weight: 400;">H.264</span></td>
<td><span style="font-weight: 400;">MP4, TS</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">H.265</span></td>
<td><span style="font-weight: 400;">MP4, TS</span></td>
</tr>
<tr>
<td><span style="font-weight: 400;">VP9</span></td>
<td><span style="font-weight: 400;">WebM</span></td>
</tr>
</tbody>
</table>
<p>As shown above, fMP4 muxings can be used to hold H.264 and H.265 segments for both HLS and MPEG-DASH. As a result these segments can be encoded only once and be referenced by a MPEG-DASH and HLS manifest, <a href="https://bitmovin.com/halve-encoding-packaging-storage-costs-hls-fragmented-mp4/">reducing your storage costs by 50%</a>.<br />
Adaptive streaming formats also allow us to include multiple codecs to the same manifest/playlist, that is the beauty of the solution. By encoding your content like this, you can hand over the logic of choosing the most appropriate codec to the player (you will find more details on that further down).<br />
The examples below show how a multi-codec MPEG-DASH manifest and HLS playlist look like. For MPEG-DASH we use one AdaptationSet for each codec. On the other hand, for HLS we simply list all the variant streams with it’s codecs one below the other.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;MPD id=&quot;fc7573ef-1945-4eea-91b0-fe6e20e870ca&quot; profiles=&quot;urn:mpeg:dash:profile:full:2011&quot; type=&quot;static&quot; mediaPresentationDuration=&quot;P0Y0M0DT0H0M46.067S&quot; minBufferTime=&quot;P0Y0M0DT0H0M2.000S&quot; bitmovin:version=&quot;1.19.0&quot; xmlns=&quot;urn:mpeg:dash:schema:mpd:2011&quot; xmlns:bitmovin=&quot;http://www.bitmovin.net/mpd/2015&quot; xmlns:ns2=&quot;http://www.w3.org/1999/xlink&quot;&gt;
    &lt;Period id=&quot;437c9a5c-a403-499c-92ca-b24944a70b77&quot; start=&quot;P0Y0M0DT0H0M0.000S&quot;&gt;
        &lt;AdaptationSet segmentAlignment=&quot;true&quot; mimeType=&quot;video/mp4&quot;&gt;
            &lt;Representation id=&quot;990f791b-984f-4566-a3b1-77a0ffbe2e60&quot; bandwidth=&quot;875000&quot; width=&quot;854&quot; height=&quot;480&quot; frameRate=&quot;30&quot; codecs=&quot;hvc1.1.c.L90.90&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/875_h265_fmp4/segment_$Number$.m4s&quot; initialization=&quot;video/875_h265_fmp4/init.mp4&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
            &lt;Representation id=&quot;6c1b1d6f-8a59-4a97-9424-ee99bb17819b&quot; bandwidth=&quot;1175000&quot; width=&quot;1280&quot; height=&quot;720&quot; frameRate=&quot;30&quot; codecs=&quot;hvc1.1.c.L93.90&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/1175_h265_fmp4/segment_$Number$.m4s&quot; initialization=&quot;video/1175_h265_fmp4/init.mp4&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
        &lt;/AdaptationSet&gt;
        &lt;AdaptationSet segmentAlignment=&quot;true&quot; mimeType=&quot;video/webm&quot;&gt;
            &lt;Representation id=&quot;00f77da9-8658-4afb-9710-0dfb08e7d346&quot; bandwidth=&quot;875000&quot; width=&quot;854&quot; height=&quot;480&quot; frameRate=&quot;30&quot; codecs=&quot;vp9&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/875_vp9_webm/segment_$Number$.chk&quot; initialization=&quot;video/875_vp9_webm/init.hdr&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
            &lt;Representation id=&quot;60ad47c8-9b48-41a9-8c3d-16fe4c9e56b2&quot; bandwidth=&quot;1175000&quot; width=&quot;1280&quot; height=&quot;720&quot; frameRate=&quot;30&quot; codecs=&quot;vp9&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/1175_vp9_webm/segment_$Number$.chk&quot; initialization=&quot;video/1175_vp9_webm/init.hdr&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
        &lt;/AdaptationSet&gt;
        &lt;AdaptationSet segmentAlignment=&quot;true&quot; mimeType=&quot;video/mp4&quot;&gt;
            &lt;Representation id=&quot;e53c20bd-519d-4881-9e35-6dd1a3817eaf&quot; bandwidth=&quot;1750000&quot; width=&quot;854&quot; height=&quot;480&quot; frameRate=&quot;30&quot; codecs=&quot;avc1.4D401F&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/1750_h264_fmp4/segment_$Number$.m4s&quot; initialization=&quot;video/1750_h264_fmp4/init.mp4&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
            &lt;Representation id=&quot;8138b60d-2bc8-4eef-91b9-3ef9e27b6cbb&quot; bandwidth=&quot;2350000&quot; width=&quot;1280&quot; height=&quot;720&quot; frameRate=&quot;30&quot; codecs=&quot;avc1.4D401F&quot;&gt;
                &lt;SegmentTemplate media=&quot;video/2350_h264_fmp4/segment_$Number$.m4s&quot; initialization=&quot;video/2350_h264_fmp4/init.mp4&quot; duration=&quot;120000&quot; startNumber=&quot;0&quot; timescale=&quot;30000&quot;/&gt;
            &lt;/Representation&gt;
        &lt;/AdaptationSet&gt;
        &lt;AdaptationSet lang=&quot;en&quot; segmentAlignment=&quot;true&quot; mimeType=&quot;audio/mp4&quot;&gt;
            &lt;AudioChannelConfiguration schemeIdUri=&quot;urn:mpeg:dash:23003:3:audio_channel_configuration:2011&quot; value=&quot;2&quot;/&gt;
            &lt;Representation id=&quot;3565543a-8524-41ac-98b4-006fcd21eaea&quot; bandwidth=&quot;128000&quot; audioSamplingRate=&quot;48000&quot; codecs=&quot;mp4a.40.2&quot;&gt;
                &lt;SegmentTemplate media=&quot;audio/128_aac_fmp4/segment_$Number$.m4s&quot; initialization=&quot;audio/128_aac_fmp4/init.mp4&quot; duration=&quot;192000&quot; startNumber=&quot;0&quot; timescale=&quot;48000&quot;/&gt;
            &lt;/Representation&gt;
        &lt;/AdaptationSet&gt;
    &lt;/Period&gt;
&lt;/MPD&gt;
</pre>
<p>Example of a multi-codec MPEG-DASH manifest.</p>
<pre class="brush: plain; title: ; notranslate">
#EXTM3U
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-VERSION:6
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=&quot;audio_128&quot;,NAME=&quot;audio_128.m3u8&quot;,LANGUAGE=&quot;en&quot;,URI=&quot;audio_128.m3u8&quot;
#EXT-X-STREAM-INF:BANDWIDTH=2101985,AVERAGE-BANDWIDTH=1796254,CODECS=&quot;avc1.4D401F,mp4a.40.2&quot;,RESOLUTION=854x480,AUDIO=&quot;audio_128&quot;
video_h265_480p_1750.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2739681,AVERAGE-BANDWIDTH=2372431,CODECS=&quot;avc1.4D401F,mp4a.40.2&quot;,RESOLUTION=1280x720,AUDIO=&quot;audio_128&quot;
Video_h265_720p_2350.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2049427,AVERAGE-BANDWIDTH=1824322,CODECS=&quot;hev1.1.6.L90.90,mp4a.40.2&quot;,RESOLUTION=854x480,AUDIO=&quot;audio_128&quot;
video_h264_480p_1750.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2706785,AVERAGE-BANDWIDTH=2421640,CODECS=&quot;hev1.1.6.L93.90,mp4a.40.2&quot;,RESOLUTION=1280x720,AUDIO=&quot;audio_128&quot;
video_h264_720p_2350.m3u8
</pre>
<p>Example of a multi-codec HLS playlist.<br />
On the playout side, as you can see in the code example below, by using <a href="https://bitmovin.com/video-player">Bitmovin Adaptive Player</a> you just need to provide the dash, hls and/or progressive URLs as you would normally do. The player is responsible for identifying the most appropriate codec to deliver based on the browser/device capabilities.</p>
<pre class="brush: jscript; title: ; notranslate">
var conf = {
  key: 'INSERTPROVIDEDKEYHERE',
  source: {
    dash       : 'http://path/to/mpd/file.mpd',
    hls        : 'http://path/to/hls/playlist/file.m3u8',
    progressive: &#x5B;{
      url: 'http://path/to/mp4',
      type: 'video/mp4'
    }, {
      url: 'http://path/to/webm',
      type: 'video/webm'
    }]
  }
};
player.setup(conf).then(function(value) {
  // Success
}, function(reason) {
  // Error!
});
</pre>
<p>Example of a player configuration and setup.<br />
There is also the possibility of having separated manifests/playlists for each codec you want to work with. In this case you would need to handle the logic of choosing the best source on your side &#8211; which would not be too complicated and you could have custom business rules as well.</p>
<h2>Conclusion</h2>
<p>As we were able to see, addressing multi-codec streaming can be a very effective measure towards reducing costs on bandwidth while delivering the same quality of experience to your viewers. Here at Bitmovin we treat this subject seriously and are constantly improving and adding new features such as <a href="https://go.bitmovin.com/per-title-encoding-tco">Per-Title Encoding</a>, <a href="https://bitmovin.com/per-scene-adaptation-datasheet/">Per-Scene Adaptation</a>, <a href="https://bitmovin.com/stream-conditions-video-encoding-workflows/">Stream Conditions and others</a>.<br />
It is also important to mention that one of the complexities of multi-codec streaming is the increase of computational resources necessary to encode the same content, which usually also leads to higher turn-around times. However, by leveraging on Bitmovin <a href="https://bitmovin.com/containerized-video-encoding/">Containerized Video Encoding</a>, where we split the input file into multiple small parts to encode in parallel, this is just a matter of adding more nodes to the cluster, problem solved.<br />
We are looking forward to helping you reduce your CDN costs or deliver higher qualities to your viewers.</p>
<div class="engbtn"><a href="https://bitmovin.com/contact-bitmovin">Contact us for more information</a></div>
<p>The post <a rel="nofollow" href="https://bitmovin.com/higher-quality-lower-bandwidth-multi-codec-streaming">Efficient Multi-Codec Support for OTT Services: H.264/HEVC/VP9 and/or AV1?</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WWDC17 &#8211; HEVC with HLS &#8211; Apple just announced a feature that we support out of the box</title>
		<link>https://bitmovin.com/wwdc17-hevc-hls-apple-just-announced-feature-support-box</link>
		
		<dc:creator><![CDATA[Martin Smole]]></dc:creator>
		<pubDate>Tue, 06 Jun 2017 18:37:08 +0000</pubDate>
				<category><![CDATA[VidTech]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[HLS]]></category>
		<category><![CDATA[video encoding]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=20447</guid>

					<description><![CDATA[<p>  This year Apple announced at their WWDC conference support for HEVC/H.265 with HLS for macOS High Sierra and iOS11 Every year at Apple’s annual Worldwide Developer Conference (WWDC) they present updates and new features that will be available to their products soon. This year Apple announced support for HEVC/H.265 for macOS High Sierra and...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/wwdc17-hevc-hls-apple-just-announced-feature-support-box">WWDC17 &#8211; HEVC with HLS &#8211; Apple just announced a feature that we support out of the box</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-code"><code>Did you know our <a href="https://bitmovin.com/video-player/" data-type="URL" data-id="https://bitmovin.com/video-player/">video player</a> guarantees playback quality on any screen through our modular architecture, including low-latency, configurable ABR and Stream Lab, the world’s first stream QoE testing service? Check out the <a href="https://bitmovin.com/video-player/" data-type="URL" data-id="https://bitmovin.com/video-player/">Bitmovin Player</a> to learn more.</code></pre>


<p></p>
<p><img loading="lazy" decoding="async" class="alignnone" src="https://bitmovin.com/wp-content/uploads/2017/06/800-feature-image-mpeg-HLS-in-HEVC.jpg" alt="- Bitmovin" width="800" height="312"></p>
<p> </p>
<blockquote>
<p>This year Apple announced at their WWDC conference support for HEVC/H.265 with HLS for macOS High Sierra and iOS11</p>
</blockquote>
<p>Every year at Apple’s annual Worldwide Developer Conference (WWDC) they present updates and new features that will be available to their products soon. This year Apple announced support for HEVC/H.265 for macOS High Sierra and iOS 11. According to Netflix’s experiments HEVC/H.265 can reach up to 50% bitrate savings compared to AVC/H.264 which allows to stream better quality to customers and saves storage and bandwidth costs for content providers.<br />We at Bitmovin are of course always especially interested in the video related updates from Apple. Last year we were a first mover to support fMP4 in HLS after Apple announced it at WWDC16. This year we are even in a position where we already support HEVC/H.265 end-to-end in both our products <a href="https://bitmovin.com/encoding-service">encoding</a> and <a href="https://bitmovin.com/video-player">player</a>.</p>
<h2>Multi Codec Support with Bitmovin&#8217;s API</h2>
<p>With the Bitmovin API you can encode content with different codecs like AVC/H.264, HEVC/H.265, <a href="https://bitmovin.com/mpeg-dash-vp9-vod-live/">VP9</a>, and recently also AV1 using MPEG-DASH and HLS. This allows to use the best codec for the platform when streaming content to your users. HEVC/H.265 and VP9 are more efficient than AVC/H.264 allowing to deliver higher quality with the same bitrate, or save costs by delivering similar quality to less bandwidth. VP9 is supported on Google Chrome, Firefox and Android devices which allows you to stream VP9 to about 70% of your users. For Safari there was still the need to use AVC/H.264 until now. With the announcement of Apple we will soon see HEVC/H.265 to be streamed to macOS and iOS devices.<br />With our flexible Bitmovin API generating content encoded in HEVC/H.265 and mux it to fMP4 segments works out-of-the-box as we do that today for HEVC MPEG-DASH content. The trick to make it available as an HLS asset is just to reference the the segments in the playlist files in the same way we do it today with fMP4 in HLS.</p>
<h2>Bitmovin HTML5 and Native Players Already Support HLS with HEVC</h2>
<p>Apple supports now HEVC video in fMP4 segments in HLS. While this works on iOS 11 and macOS High Sierra only, the reached audience can be extended using the Bitmovin Player. It supports HEVC HLS in all browsers which support HEVC decoding already out of the box. Also the Bitmovin Player iOS SDK is ready for HEVC HLS on iOS 11.</p>
<div id="player"> </div>
<h2>Test Vectors</h2>
<p>There are a few ways to deliver HEVC content to users:</p>
<ol>
<li>HEVC in HLS using MPEG-2 Transport Stream chunks, which Apple doesn’t support</li>
<li>HEVC in HLS using fMP4 segments, which is what Apple announced on WWDC17 and our player supports</li>
<li>HEVC in MPEG-DASH using fMP4 segments</li>
</ol>
<p>All of these options can already be created using our Bitmovin API. For playback, it depends on the HEVC support in the browser. Obviously, Apple added this for Safari on macOS High Sierra and iOS 11, but also Edge on Windows 10 already supports it. HEVC can be streamed using HLS or MPEG-DASH to Edge with the Bitmovin Player.<br />We provide test vectors for the three above mentioned types for public testing:</p>
<ul>
<li>HEVC HLS with fMP4: <a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" rel="nofollow noopener" target="_blank">http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8</a></li>
<li>HEVC HLS with TS (not supported by Apple): <a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" rel="nofollow noopener" target="_blank">http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8</a></li>
<li>HEVC MPEG-DASH: <a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream.mpd" rel="nofollow noopener" target="_blank">http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream.mpd</a></li>
</ul>
<p>Beside HEVC/H.265 we can also encode the same asset to AVC/H.264 and <a href="https://bitmovin.com/mpeg-dash-vp9-vod-live/">VP9 which we introduced earlier this year</a>. With this configuration you can deliver the best codec to every device, improving quality and save costs. VP9 is supported on multiple platforms including Google Chrome, Firefox and Android devices. Google Chrome currently has a market share of 57% in North America and Firefox accounts for roughly 12% in that region. Taking these two alone you could probably reach up to 70% of your users with VP9. So basically 70% of your users could benefit from VP9 which could reduce your bitrate by 50% and lower your CDN costs dramatically.<br />Here are some more test vectors including the VP9 codec:</p>
<ul>
<li>Multi-Codec MPEG-DASH (AVC/H.264, HEVC/H.265, VP9): <a href="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream.mpd" rel="nofollow noopener" target="_blank">http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream.mpd</a></li>
<li>VP9 MPEG-DASH: <a href="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream_vp9.mpd" rel="nofollow noopener" target="_blank">http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream_vp9.mpd</a></li>
</ul>
<p>We wish you happy testing and would love to get your feedback!<br /><script src="https://bitmovin-a.akamaihd.net/bitmovin-player/stable/7.1/bitmovinplayer.js" type="text/javascript"></script><br /><script>// <![CDATA[ var conf = { key: '89f6ed6c-ab0e-46c2-ac47-5665e60c3c41', source: { title: 'Art of Motion - HEVC HLS', hls: '//bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8', poster: '//bitmovin-a.akamaihd.net/content/art-of-motion_drm/art-of-motion_poster.jpg', tracks: [{ file: '//bitdash-a.akamaihd.net/content/MI201109210084_1/thumbnails/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.vtt', kind: 'thumbnails' }] }, events: { onWarning: function(param) { if (param) { if (param.code === 5002) { showMessage(); } } } } }; function supportsHevcHls() { // iPhone user agent string: // 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.21 (KHTML, like Gecko) Version/10.0 Mobile/15A5278f Safari/602.1' var probablyiOS11 = navigator.userAgent.match(/iPhone OS ([0-9]+)/i); if (probablyiOS11) { if (probablyiOS11.length >= 2) {<br />
        if (!isNaN(probablyiOS11[1])) {<br />
          var iOSMajorVersion = parseInt(probablyiOS11[1]);<br />
          if (iOSMajorVersion >= 11) {<br />
            return true;<br />
          }<br />
        }<br />
      }<br />
    }<br />
    return window.MediaSource && MediaSource.isTypeSupported('video/mp4; codecs="hvc1.1.c.L93.90,mp4a.40.2"');<br />
  }<br />
  function showMessage() {<br />
    console.warn('No HEVC support as it seems :( Please try Safari/macOS High Sierra, Safari/iOS 11 or Edge/Windows 10');<br />
    bitmovin.player().fireEvent('onError', {<br />
      message: 'This browser/OS does not support HEVC HLS. Please try in Safari on macOS High Sierra or iOS 11, or in Edge on Windows 10 (with hardware decoder present in the device).'<br />
    });<br />
  }<br />
  var player = bitmovin.player('player');<br />
  player.setup(conf).then(function(response) {<br />
    if (!supportsHevcHls()) {<br />
      showMessage();<br />
    } else {<br />
      player.preload();<br />
    }<br />
  }, function(reason) {<br />
    console.error('player setup failed');<br />
    console.error(reason);<br />
  });<br />
// ]]&gt;</script></p>
<h2><strong>Popular video technology guides and articles:</strong></h2>
<ul>
<li>Back to Basics: Guide to the <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 Video Tag </a></li>
<li><a href="https://bitmovin.com/vod-platforms/">What is a VoD Platform?</a>A comprehensive guide to Video on Demand (VOD)</li>
<li><a href="https://bitmovin.com/top-5-video-technology-trends/">Video Technology [2022]</a>: Top 5 video technology trends</li>
<li><a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC vs VP9</a>: Modern codecs comparison</li>
<li>What is the <a href="https://bitmovin.com/av1/">AV1 Codec</a>?</li>
<li>Video Compression: <a href="https://bitmovin.com/encoding-definition-bitrates/">Encoding Definition and Adaptive Bitrate</a></li>
<li>What is <a href="https://bitmovin.com/adaptive-streaming/">adaptive bitrate streaming</a></li>
<li><a href="https://bitmovin.com/mkv-vs-mp4/">MP4 vs MKV</a>: Battle of the Video Formats</li>
<li><a href="https://bitmovin.com/video-streaming-models-svod-avod-tvod/">AVOD vs SVOD</a>; the “fall” of SVOD and Rise of AVOD &amp; TVOD (Video Tech Trends)</li>
<li><a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG-DASH</a> (Dynamic Adaptive Streaming over HTTP)</li>
<li><a href="https://bitmovin.com/container-formats-fun-1/">Container Formats</a>: The 4 most common container formats and why they matter to you.</li>
<li><a href="https://bitmovin.com/qoe-why-quality-video-matters/">Quality of Experience</a> (QoE) in Video Technology [2022 Guide]</li>
</ul><style class="advgb-styles-renderer">.bmpui-ui-tvnoisecanvas { display: none; }</style><p>The post <a rel="nofollow" href="https://bitmovin.com/wwdc17-hevc-hls-apple-just-announced-feature-support-box">WWDC17 &#8211; HEVC with HLS &#8211; Apple just announced a feature that we support out of the box</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />
<enclosure url="http://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_ts.m3u8" length="1244" type="application/vnd.apple.pages" />

			</item>
		<item>
		<title>MPEG-DASH HEVC Encoding</title>
		<link>https://bitmovin.com/mpeg-dash-hevc-encoding</link>
		
		<dc:creator><![CDATA[Christopher Mueller]]></dc:creator>
		<pubDate>Tue, 15 Dec 2015 12:33:28 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[MPEG-DASH]]></category>
		<category><![CDATA[video encoding]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=7395</guid>

					<description><![CDATA[<p>High Efficiency Video Coding (HEVC) or H.265 is a compression standard that doubles the compression efficiency while maintaining similar or same video quality compared to its predecessor H.264/AVC High Efficiency Video Coding (HEVC) or H.265 is a compression standard that was jointly developed by ISO/IEC MPEG SC29/WG11 and the ITU-T Video Coding Experts Group (VCEG)....</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/mpeg-dash-hevc-encoding">MPEG-DASH HEVC Encoding</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote><p>High Efficiency Video Coding (HEVC) or H.265 is a compression standard that doubles the compression efficiency while maintaining similar or same video quality compared to its predecessor H.264/AVC</p></blockquote>
<p>High Efficiency Video Coding (HEVC) or H.265 is a compression standard that was jointly developed by ISO/IEC MPEG SC29/WG11 and the ITU-T Video Coding Experts Group (VCEG). The standard was officially ratified by MPEG on the 13th of April 2013. As for every new video codec the goal of HEVC was to double the compression while maintaining similar or same video quality compared to its predecessor H.264/AVC. HEVC has been designed to take advantage of very high resolutions such as 4K and 8K which usually contain very wide areas of similar blocks. Therefore, one of the first things that was changed was the block size on which the codec operates. H.264/AVC was using 16 by 16 blocks at a maximum and these blocks were replaced by Coding Tree Units (CTU) that can take up to a maximum of 64 by 64 sizes. This allows utilization of big homogenous areas as very big blocks can be used that enable higher efficiency. HEVC also only allows Context Adaptive Binary Arithmetic Coding (CABAC) as entropy encoder as it is the most efficient one and decoding performance considerations are less important now as every smartphone has already two or more cores and built-in decoding chipsets.<br />
<img loading="lazy" decoding="async" class="size-full wp-image-7396 alignnone" src="https://bitmovin.com/wp-content/uploads/2016/04/TearsCompare_hevc1.jpg" alt="MPEG DASH HEVC Encoding quality comparison" width="1800" height="800" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1-300x133.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1.jpg?size=384x171&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1-768x341.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1-1024x455.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1.jpg?size=1152x512&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1-1536x683.jpg?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/TearsCompare_hevc1.jpg?lossy=2&amp;strip=1&amp;webp=1 1800w" sizes="(max-width: 1800px) 100vw, 1800px" /><br />
There are several other small improvements that lead to the encoding efficiency gain, and the performance of the HEVC implementations will definitely increase over the next few years. Additionally, MPEG added the support for HEVC in several container formats such as MPEG 2 Transport Stream (MP2TS) and ISO Base Media File Format (IBMFF) that is used as the basis for MP4. As <a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG DASH</a> is container and codec agnostic, HEVC is supported anyway, but with the support in the MP4 container format it&#8217;s even easier to integrate HEVC seamlessly into your workflow.</p>
<h2>MPEG DASH HEVC Encoding with Bitmovin&#8217;s API</h2>
<p>MPEG DASH HEVC encoding with Bitmovin is very simple and is supported through our REST-API and with our API Clients such as PHP and Python. Basically there is just one parameter in the Encoding Profile that needs to be changed. Specifically the <em>codec</em> attribute in the Encoding Profile needs to be changed to <em>hevc</em>. This attribute is optional, which means if you don&#8217;t specify it, we will use <em>h264</em> as codec. Currently MPEG DASH HEVC is supported within all plans and for all of our users.</p>
<h3><img loading="lazy" decoding="async" class="size-full wp-image-7397 alignnone" src="https://bitmovin.com/wp-content/uploads/2016/04/hevc_rest_api1.jpg" alt="MPEG DASH HEVC encoding with the Bitmovin API" width="1751" height="1142" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1-300x196.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1.jpg?size=384x250&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1-768x501.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1-1024x668.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1.jpg?size=1152x751&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1-1536x1002.jpg?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/04/hevc_rest_api1.jpg?lossy=2&amp;strip=1&amp;webp=1 1751w" sizes="(max-width: 1751px) 100vw, 1751px" /><br />
Python API Client MPEG DASH HEVC</h3>
<p>A simple Python example of an MPEG DASH HEVC encoding can be found at our <a href="https://github.com/bitmovin/bitcodin-python/blob/master/examples/create_job_hevc.py " rel="nofollow noopener" target="_blank">python github example</a>.</p>
<ol>
<li>Follow the <a href="https://github.com/bitmovin/bitcodin-python" rel="nofollow noopener" target="_blank">instructions on github</a> to setup bitcodin-python.</li>
<li>Make sure to set the correct API key:
<pre class="brush: python; title: ; notranslate">bitcodin.api_key = 'INSERT YOUR API KEY'</pre>
</li>
<li>Create an MPEG DASH HEVC encoding profile
<pre class="brush: python; title: ; notranslate">
video_configs = list()
video_configs.append(bitcodin.VideoStreamConfig(
    default_stream_id=0,
    bitrate=1024000,
    profile='Main',
    preset='standard',
    height=768,
    width=1024,
    codec='hevc'
))
audio_configs = &#x5B;bitcodin.AudioStreamConfig(default_stream_id=0,
                                            bitrate=192000)]
encoding_profile_obj = bitcodin.EncodingProfile('HEVC Encoding Profile',
                                                 video_configs,
                                                 audio_configs)
encoding_profile = bitcodin.create_encoding_profile(encoding_profile_obj)
</pre>
</li>
<li>Create and start MPEG DASH HEVC encoding
<pre class="brush: python; title: ; notranslate">
manifests = &#x5B;'mpd']
job = bitcodin.Job(
    input_id=input_result.input_id,
    encoding_profile_id=encoding_profile.encoding_profile_id,
    manifest_types=manifests
)
job_result = bitcodin.create_job(job)
</pre>
</li>
</ol>
<h2>Playback with the Bitmovin Player</h2>
<p>The <a href="/player/">Bitmovin Adaptive Streaming Player</a> utilizes the browser build-in HTML5 Media Source Extensions (MSE) to playback HEVC native through the browser decoding engine. If the underlying browser supports HEVC, the Bitmovin Player supports it too. Currently this works on Microsoft Edge and Android native Apps based on <a href="https://github.com/google/ExoPlayer" rel="nofollow noopener" target="_blank">ExoPlayer</a> with devices that support HEVC but with MPEG-DASH you can use H.264/AVC in parallel with H.265/HEVC and only devices that are capable of playing HEVC will use the HEVC Representations.</p>
<h2>Conclusion</h2>
<p>HEVC is probably the most efficient codec on the market and it&#8217;s worth trying it out. The integration with MPEG-DASH is seamless and the Bitmovin API allows you to setup an HEVC encoding workflow in just a few minutes. If you want to try our MPEG-DASH HEVC encoding and playback with your content, you can use our <a href="https://bitmovin.com/pricing/#encoding">free plan with 2.5GB encoding output per month.</a> That’s great for testing and playing around with our HEVC encoder.<br />
See an <a href="https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/">MPEG-DASH example using HEVC</a>. Scroll down to the Telecom ParisTech, GPAC: UHD HEVC DASH Dataset</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/mpeg-dash-hevc-encoding">MPEG-DASH HEVC Encoding</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Watch HEVC MPEG-DASH Streams in HTML5 using Bitmovin</title>
		<link>https://bitmovin.com/html5-hevc-mpeg-dash-streams-using-bitmovin</link>
		
		<dc:creator><![CDATA[Reinhard Grandl]]></dc:creator>
		<pubDate>Tue, 06 Oct 2015 12:11:09 +0000</pubDate>
				<category><![CDATA[VidTech]]></category>
		<category><![CDATA[hevc]]></category>
		<category><![CDATA[video encoding]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=8110</guid>

					<description><![CDATA[<p>High Efficiency Video Coding (HEVC) or simply H.265 is the successor to Advanced Video Coding (AVC) also known as H.264, which is today one of the most used compression schemes on the Web &#8211; also adaptive streaming technologies, such as MPEG-DASH. HEVC also promises the same level of picture quality as its predecessor, but with better compression...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/html5-hevc-mpeg-dash-streams-using-bitmovin">Watch HEVC MPEG-DASH Streams in HTML5 using Bitmovin</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>High Efficiency Video Coding</strong> (HEVC) or simply <strong>H.265</strong> is the <strong>successor</strong> <strong>to Advanced Video Coding</strong> (AVC) also known as <strong>H.264</strong>, which is today one of the most used compression schemes on the Web &#8211; also adaptive streaming technologies, such as MPEG-DASH. HEVC also promises the same level of picture quality as its predecessor, but with better compression and therefore less data. But what is a codec and why use it when it decreases quality?</p>
<h2>It&#8217;s all About Compression</h2>
<p>Especially for streaming scenarios, the amount of data needed to deliver a dedicated video quality is extremely important. The amount of raw data produced by professional cameras is massive &#8211; and having <strong>UHD</strong> and <strong>4K</strong> in mind, this tends to increase even further. Therefore, good compression algorithms are inevitable to cope with the increasing demand of video on the Web and to overcome limited network resources. This is where video codecs come into play. Compression schemes, called codecs, decrease the amount of data of assets, without sacrificing quality. Without going into too much detail (believe me it&#8217;s quite complex) it is all about how much compression can be achieved at a certain quality level. And this is where <strong>HEVC</strong> promises to <strong>outperform</strong> <strong>state of the art codecs</strong>, like AVC by far &#8211; or to be more precise &#8211; <strong>double the quality</strong> with the <strong>same amount of data.</strong><br />
<a href="https://bitmovin.com/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1.jpg" rel="attachment wp-att-8111"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8111" src="https://bitmovin.com/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1.jpg" alt="HTML5 HEVC " width="1024" height="461" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1-300x135.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1.jpg?size=384x173&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1-768x346.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2016/05/hevc-comparison-1024x4611-1.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><br />
The above image shows a comparison of two screenshots from a video asset. The left is encoded using HEVC and the right one using AVC; the bitrate (400kpbs at 1080p) is the same for both. As you can see, the HEVC encoded video is obviously better quality.</p>
<h2>HEVC, Bitmovin, Devices and Platforms</h2>
<p>There is also a tendency towards HEVC for adaptive streaming technologies, such as <a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG-DASH</a>. Regarding our Bitmovin player solution which uses plain HTML5 and JavaScript (no plugins needed), we utilise the browsers in-build MSE (more information about <a href="https://www.dash-player.com/blog/2015/02/the-status-of-mpeg-dash-today-and-why-youtube-and-netflix-use-it-in-html5/" rel="nofollow noopener" target="_blank">MPEG-DASH in HTML5</a>) for playout. If the underlying browser supports HEVC decoding (most likely done by a hardware decoder) we perform some simple adaptations, such as changing the codec attribute, and you can watch your HEVC <a href="https://bitmovin.com/mpeg-dash-hls-examples-sample-streams/">MPEG-DASH streams</a>. We successfully tested with browsers, like <a href="https://www.windowscentral.com/microsoft-windows-10-will-support-hevc-video-standard" target="_blank" rel="noopener noreferrer nofollow">Microsoft Edge</a>, which comes with HEVC support. Also Google recently announced the support within their <a href="https://code.google.com/p/chromium/issues/detail?id=454948#c14" target="_blank" rel="noopener noreferrer nofollow">Chromium browser</a>.<br />
Have you already tried it? You can find free and public HEVC test streams from the Telecom ParisTech, GPAC <a href="https://www.dash-player.com/blog/2015/04/10-free-public-mpeg-dash-teststreams-and-datasets/" rel="nofollow noopener" target="_blank">here</a>. It would be great if you can provide us with some feedback.</p>
<h2>The Bottom Line</h2>
<p><strong>HEVC</strong> has a lot of <strong>benefits</strong>. Reducing the bandwidth for HD videos means more people can actually get HD content (same applies for 4K). And, as addressed in <a href="https://www.bitcodin.com/blog/2015/09/the-video-problem-3-reasons-why-users-leave-a-website-with-badly-implemented-video/" rel="nofollow noopener" target="_blank">one of our recent posts</a>, today’s viewers are looking for a TV-like experience and do not show much patience if this promise is broken due to web video problems. So, if you are facing connections too slow for HD streaming today, you might be able to get HEVC encoded HD content tomorrow. And if you pay per gigabyte, less data, due to HEVC encoding, can save you money.<br />
All in all, HEVC is not yet available for the vast majority of Internet video assets and only a few devices are capable of decoding it. And of course, it is not the only available codec in town. The open and royalty free video coding format VP9 (successor of VP8) aims to have an even better <a href="https://bitmovin.com/video-encoding-data-sheet/">encoding</a> efficiency and is already supported by popular browsers such as Google Chrome and Microsoft Edge.<br />
However, up to now it can not be predicted which codec(s) will find their way into our daily streaming business. But whether it is VP8/9, AVC or HEVC &#8211; Bitmovin is ready for it!<br />
All the best,<br />
<em>a Bitmover called Reinhard.</em><br />
Follow us on Twitter: <a href="https://twitter.com/bitmovin" target="_blank" rel="noopener noreferrer nofollow">@bitmovin</a></p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/html5-hevc-mpeg-dash-streams-using-bitmovin">Watch HEVC MPEG-DASH Streams in HTML5 using Bitmovin</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
