<?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>VP9 &#8211; Bitmovin</title>
	<atom:link href="https://bitmovin.com/tag/vp9/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>Mon, 18 Sep 2023 14:08:17 +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>VP9 &#8211; Bitmovin</title>
	<link>https://bitmovin.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VP9 Codec: The Complete Guide to Google&#8217;s Open Source Video Codec</title>
		<link>https://bitmovin.com/vp9-codec-status-quo</link>
		
		<dc:creator><![CDATA[Andy Francis]]></dc:creator>
		<pubDate>Thu, 20 Jul 2023 15:38:32 +0000</pubDate>
				<category><![CDATA[VidTech]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=175386</guid>

					<description><![CDATA[<p>If you work with video, picking a codec is a critical decision that will affect both your workflows and the quality of your output. There are many different video codecs available, and as they all offer different things, there’s no clear right choice. As devices and platforms evolve, the video format sands are ever-shifting. Here,...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vp9-codec-status-quo">VP9 Codec: The Complete Guide to Google&#8217;s Open Source Video Codec</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>If you work with video, picking a codec is a critical decision that will affect both your workflows and the quality of your output. There are many different video codecs available, and as they all offer different things, there’s no clear right choice.</p>



<p>As devices and platforms evolve, the video format sands are ever-shifting. </p>



<p>Here, we go into detail on the VP9 codec and see what it offers versus the competition. We talk about its history, then look at its pros and cons, so you can make a decision on whether VP9 is a good fit for your video projects. </p>



<p>Use the links below to skip ahead.</p>



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



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h2>Table of Contents</h2><nav><ul><li><a href="#what-are-codecs-and-why-are-they-important-in-ott-video">What Are Codecs, and Why Are They Important in OTT Video?</a></li><li><a href="#what-codecs-are-popular-today-and-why">What Codecs are Popular Today and why?</a></li><li><a href="#history-of-vp-9">History of VP9</a></li><li><a href="#how-is-vp-9-different">How Is VP9 Different?</a></li><li><a href="#pros-of-vp-9-vs-other-codecs">Pros of VP9 vs. Other Codecs</a></li><li><a href="#cons-of-vp-9-vs-other-codecs">Cons of VP9 vs. Other Codecs</a></li><li><a href="#businesses-currently-using-vp-9">Businesses Currently Using VP9</a></li><li><a href="#use-cases-business-situations-where-vp-9-might-be-a-good-choice-of-video-codec">Use Cases/Business Situations Where VP9 Might Be a Good Choice of Video Codec</a></li><li><a href="#the-future-of-vp-9">The Future of VP9</a></li><li><a href="#vp-9-encoding-with-bitmovin">VP9 Encoding with Bitmovin</a></li><li><a href="#vp-9-fa-qs">VP9 FAQs</a></li></ul></nav></div>



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



<h3 class="wp-block-heading" id="what-are-codecs-and-why-are-they-important-in-ott-video">What Are Codecs, and Why Are They Important in OTT Video?</h3>



<p>Codecs are responsible for compressing and decompressing video when it is created and played back. Your choice of codec will affect your video compression ratio, encoding, and playback speed. It will also affect your videos’ quality and which devices and players are able to view them. It can affect their maximum resolution and features, too. In OTT video these are critical, as they directly affect your server and bandwidth costs. They also define your potential customers. Not every device can view every codec, and quality can vary even on supported devices.</p>



<p>You want to deliver your video to as many people as possible, with the best quality, at the lowest cost. Since there isn’t a dream codec that’s best in class for all of these, you need to compromise on at least one. To figure out which, you need the details.</p>



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



<h3 class="wp-block-heading" id="what-codecs-are-popular-today-and-why">What Codecs are Popular Today and why?</h3>



<p>Things move quickly in the world of video, and what’s popular today may not be so for long. The current state of play is as follows. According to <a href="https://bitmovin.com/video-developer-report/" target="_blank" rel="noreferrer noopener"><u>Bitmovin’s Video Developer Report</u></a>, H.264 (AVC) is the world’s most popular codec with over an estimated 85% of video-on-demand using it. </p>



<p>Most modern devices have hardware that can decode AVC, making it easy to play, making it a great choice if you want the broadest possible user base.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="3000" height="1215" src="https://bitmovin.com/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-3000x1215.png" alt="VDR: Vod Encoding - preferred video codecs" class="wp-image-264415" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-300x121.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873.png?size=384x156&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-768x311.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873.png?size=1152x467&amp;lossy=2&amp;strip=1&amp;webp=1 1152w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-1536x622.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873.png?size=1920x778&amp;lossy=2&amp;strip=1&amp;webp=1 1920w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-2048x829.png?lossy=2&amp;strip=1&amp;webp=1 2048w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/07B-VoD-Encoding-Which-video-codecs-are-you-using-in-production-e1689867311873-3000x1215.png?lossy=2&amp;strip=1&amp;webp=1 3000w" sizes="(max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-element-caption">Bitmovin Video Developer Report 2023: Which video codecs are you using in production?</figcaption></figure>



<p>This codec’s licensing system is complicated, though, with thousands of patents involved. That means you <a href="https://www.zdnet.com/article/a-closer-look-at-the-costs-and-fine-print-of-h-264-licenses/" target="_blank" rel="noreferrer noopener nofollow"><u>need to pay royalties</u></a> if you want to use it for hardware or paid content. Despite this, it is used by many services, as well as Blu-ray discs, and was the codec of choice for many early HDTV broadcasts.</p>



<p>Its successor, H.265 (or HEVC), is also common, though less popular, and uses up to <a href="http://www.datastrait.com/blog-news/h264-vs-h265" target="_blank" rel="noreferrer noopener nofollow"><u>50% less bandwidth than H.264</u></a>. However, much like its predecessor, H.264, HEVC can be expensive, with patents and fees required to use it.</p>



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



<h2 class="wp-block-heading" id="the-vp-9-codec">The VP9 Codec</h2>



<p>Widely supported, open source and without royalties, the VP9 codec has several key advantages over the competition, with a few caveats.</p>



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



<h3 class="wp-block-heading" id="history-of-vp-9">History of VP9</h3>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<p>Google purchased On2, creators of VP8 codec, <a href="https://www.computerworld.com/article/2521042/google-closes-on2-acquisition-for--124-6m.html" target="_blank" rel="noreferrer noopener nofollow"><u>for $124.6 million in 2010</u></a>. They began work on VP9 soon afterward, <a href="https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=111334" target="_blank" rel="noreferrer noopener nofollow"><u>eventually releasing it in late 2012</u></a>. Support for it spread quickly, and by 2017 it was used by Chrome, Firefox, and Edge. It had <a href="https://techcrunch.com/2014/01/02/googles-vp9-video-codec-gets-backing-from-arm-nvidia-sony-and-others-gives-4k-video-streaming-a-fighting-chance/" target="_blank" rel="noreferrer noopener nofollow"><u>hardware support</u></a> from NVidia, ARM, and others. It is <a href="http://wiki.webmproject.org/hardware/socs" target="_blank" rel="noreferrer noopener nofollow"><u>widely supported on Android</u></a>, but iOS has added support only in its <a href="https://meterpreter.org/apple-has-natively-supported-google-vp9-codec-technology-in-ios-14/" target="_blank" rel="noreferrer noopener nofollow"><u>most recent version</u></a>.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image alignleft size-full wp-duotone-unset-1"><img decoding="async" width="317" height="144" src="https://bitmovin.com/wp-content/uploads/2021/06/vp9-codec-google.png" alt="Google's VP9 codec" class="wp-image-264417" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/vp9-codec-google-300x136.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/vp9-codec-google.png?lossy=2&amp;strip=1&amp;webp=1 317w" sizes="(max-width: 317px) 100vw, 317px" /></figure>
</div>
</div>



<p>The base software used to encode VP8 and VP9 is called libvpx (it’s also possible to encode VP8 and VP9 using vpxenc.exe). Fortunately, it’s free, easy to use, well-documented, and can handle <a href="https://en.wikipedia.org/wiki/Libvpx" target="_blank" rel="noreferrer noopener nofollow"><u>real-time encoding</u></a> should you need it. Refinements to the <a href="https://www.webmproject.org/tools/" target="_blank" rel="noreferrer noopener nofollow"><u>libvpx library</u></a> used to encode videos have improved VP9 over time, with a 50-70% speed boost, multithreading, and support for extra bit depths and chroma subsampling modes among the additions.</p>



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



<h3 class="wp-block-heading" id="how-is-vp-9-different">How Is VP9 Different?</h3>



<p>There are several major differences between VP9 and its rival video codecs. Take a look at the pros and cons below.</p>



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



<h3 class="wp-block-heading" id="pros-of-vp-9-vs-other-codecs">Pros of VP9 vs. Other Codecs</h3>



<p>Like HEVC, VP9 has a <a href="https://blogs.gnome.org/rbultje/2015/09/28/vp9-encodingdecoding-performance-vs-hevch-264/" target="_blank" rel="noreferrer noopener nofollow"><u>50% advantage</u></a> over H.264, but VP9 can outperform HEVC at resolutions above HD. That makes it a great choice if you’re working with video at different sizes, or if you’re focusing specifically on HD. VP9 <a href="https://bloggeek.me/vp9-hardware-acceleration/" target="_blank" rel="noreferrer noopener nofollow"><u>can use hardware decoding</u></a> on Intel and ARM devices. Thanks to widespread hardware support, it gives you smoother playback on PCs in most scenarios, making it ideal for general use.</p>



<p>Google and Youtube use VP9 for all of their 4K videos, which itself is a proof point that VP9 is a viable option for video streaming providers. Now <a href="https://appleinsider.com/articles/20/08/05/fourth-macos-big-sur-beta-adds-support-for-4k-youtube-playback-in-safari" target="_blank" rel="noreferrer noopener nofollow"><u>even Apple</u></a> has added support for the codec, making it the clear choice for high-resolution video in the macOS version of the Safari browser.</p>



<p>Android has supported VP9 <a href="https://developer.android.com/guide/topics/media/media-formats" target="_blank" rel="noreferrer noopener nofollow"><u>since 4.4</u></a>. “KitKat” launched in 2013, so all but the most ancient devices can use it. VP9 is open source, making it free and convenient to deploy. By contrast, HEVC is mired in <a href="https://headjack.io/blog/hevc-vp9-vp10-dalaa-thor-netvc-future-video-codecs/" target="_blank" rel="noreferrer noopener nofollow"><u>patent issues</u></a>, making it expensive—and potentially troublesome—to use. It <a href="https://www.cablelabs.com/the-cost-of-codecs-royalty-bearing-video-compression-standards-and-the-road-that-lies-ahead" target="_blank" rel="noreferrer noopener nofollow"><u>costs $0.20 per device</u></a> to include HEVC support, which discourages adoption and may well give VP9 a longer tail for hardware manufacturers, even as new codecs eventually take over.</p>



<p>Early comparisons suggested VP9 had a video compression disadvantage over its competitors, but Netflix claimed that this could be <a href="https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/The-State-of-Codecs-2017-117269.aspx" target="_blank" rel="noreferrer noopener nofollow"><u>eliminated or reversed</u></a> by fine-tuning the implementation. Like any general purpose video coding format, there are a lot of interdependent settings that can make a big difference to the size of the output bitstream, quality, and overall costs, so you’ll need to find the right balance for your workflow and business model. Some companies may closely guard their findings and exact video encoder settings, but information on the <a href="https://bitmovin.com/vp9-vs-hevc-h265/" target="_blank" rel="noreferrer noopener"><u>relative performance in different scenarios</u></a> is available.</p>



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



<h3 class="wp-block-heading" id="cons-of-vp-9-vs-other-codecs">Cons of VP9 vs. Other Codecs</h3>



<p>Not all players work well with VP9. Older devices that don’t support hardware decoding are still in use. If you’re a developer, your friends’ phones may not be representative of the wider population. At first, iOS devices didn&#8217;t support VP9, but that changed with the update to version 14. They have <a href="https://teradek.com/blogs/articles/5-reasons-why-apple-s-hevc-h-265-is-a-huge-deal-for-mobile-video" target="_blank" rel="noreferrer noopener nofollow"><u>supported H.265</u></a> since iOS 11. The older, less cpu-intensive codec, H.264, runs smoothly on practically all devices, so if you want a single codec to run as close to everywhere as possible—and can budget for the monetary costs—that should be your preference.</p>



<p>There are some issues with 360 videos and VP9. While YouTube works well with VP9 360-degree video, its metadata injector doesn’t. Other publishers may have similar issues. It is important to confirm that your target platform has support for the specific type of video you want to deploy, so testing before making a commitment is recommended. VP9 is also slower to encode. The more videos you have to deal with, the more of an issue that will be.</p>



<p>Microsoft’s Internet Explorer (now Edge) browser added support for VP9 as an experimental feature in Windows 10 back in 2017, but it is now fully supported on Windows machines, bringing it in line with the VP9 support already available in Linux, Android, MacOS and iOS. The AV1 codec is already en route to replacing VP9. This codec builds on work done towards VP10 and could <a href="https://engineering.fb.com/2018/04/10/video-engineering/av1-beats-x264-and-libvpx-vp9-in-practical-use-case/" target="_blank" rel="noreferrer noopener nofollow"><u>potentially halve video file sizes</u></a>. Currently, VP9 supports HDR and DRM and still has wider hardware decoding support than AV1, but this is something to keep an eye on.&nbsp;</p>



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



<h3 class="wp-block-heading" id="businesses-currently-using-vp-9">Businesses Currently Using VP9</h3>



<p>VP9 can be found in many places. Google uses it on YouTube and Google Stadia, as mentioned earlier. It is also used for videos on WikiMedia Commons. Netflix uses it, though not exclusively, giving it a <a href="https://www.vdocipher.com/blog/tech-update-netflix-updates-codecs-use-efficient-encoding/" target="_blank" rel="noreferrer noopener nofollow"><u>35% bandwidth saving</u></a> at equivalent quality. Meta, especially Facebook, use VP9 extensively, but they have <a href="https://www.streamingmediablog.com/2023/04/aom-session.html" target="_blank" rel="noreferrer noopener nofollow"><u>stated their intention</u></a> to update the majority of their video encoding to AV1.&nbsp;</p>



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



<h3 class="wp-block-heading" id="use-cases-business-situations-where-vp-9-might-be-a-good-choice-of-video-codec">Use Cases/Business Situations Where VP9 Might Be a Good Choice of Video Codec</h3>



<p>VP9 works smoothly on PCs at high resolutions, so if you’re delivering OTT video to the desktop, it’s a great choice. It can save you bandwidth over other codecs while delivering the same or better quality. If you need control over your codec or even want to make a few customizations, then open source has obvious advantages over the competition. The lack of fees can add up to significant savings if you are delivering paid content. The better support for UHD, HDR and 360-degree videos also make it a great choice if those are your specialties.&nbsp;</p>



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



<h3 class="wp-block-heading" id="the-future-of-vp-9">The Future of VP9</h3>



<p>If H.264’s longevity is any indication, VP9 will still be around for some time. In the near future, next-generation codecs such as <a href="https://www.theverge.com/2020/7/7/21316525/fraunhofer-vvc-video-codec-streaming-4k-video-cost-file-size-standards/" target="_blank" rel="noreferrer noopener nofollow"><u>VVC</u></a> (released in 2020) and <a href="https://research.mozilla.org/av1-media-codecs/" target="_blank" rel="noreferrer noopener nofollow"><u>AV1</u></a> (released in 2018) promise improvements. It will take time for them to spread, but all developers need to keep an eye on the horizon. VVC, the successor to H.265, promises a <a href="https://bitmovin.com/multi-codec-world-2020/" target="_blank" rel="noreferrer noopener"><u>50% bitrate improvement</u></a>. AV1, building on VP10, is promising a <a href="https://www.androidauthority.com/av1-codec-1113318/" target="_blank" rel="noreferrer noopener nofollow"><u>30% video compression rate improvement</u></a> over H.265. Both of these are worth getting excited about, but of course, browser, device and feature support will be crucial when making a decision. If the pattern holds, it’s unlikely that companies using VP9 will completely phase it out any time soon. You can learn more about the current state of AV1 playback support <a href="https://bitmovin.com/av1-playback-support/" target="_blank" rel="noreferrer noopener"><u>here</u></a>.</p>



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



<h3 class="wp-block-heading" id="vp-9-encoding-with-bitmovin">VP9 Encoding with Bitmovin</h3>



<p>Bitmovin offers multiple ways to get started with your own VP9 encoding, even with a <a href="https://dashboard.bitmovin.com/signup" target="_blank" rel="noreferrer noopener"><u>free trial</u></a> account. In the dashboard UI, our encoding wizard allows you to choose between H.264, H.265/HEVC and VP9 without any coding skills or experience necessary.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" src="https://bitmovin.com/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345.png" alt="vod encoding configuration" class="wp-image-264424" style="width:960px;height:509px" width="960" height="509" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345-300x159.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345.png?size=384x204&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345-768x407.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345-1536x814.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2021/06/encoding-configuration-scr-e1689867194345.png?lossy=2&amp;strip=1&amp;webp=1 1920w" sizes="(max-width: 960px) 100vw, 960px" /></figure>



<p>For those with a little more experience, our <a target="_blank" rel="noreferrer noopener" href="https://developer.bitmovin.com/encoding/docs/documentation"><u>APIs and SDKs</u></a> have <a target="_blank" rel="noreferrer noopener" href="https://developer.bitmovin.com/encoding/docs/vp9-presets"><u>VP9 presets</u></a> available, or you can fine tune all of the parameters individually. You can also use VP9 together with our award-winning <a target="_blank" rel="noreferrer noopener" href="https://developer.bitmovin.com/encoding/docs/per-title-configuration-options-explained"><u>Per-Title Encoding</u></a> to analyze and adjust the settings for each piece of video content, ensuring the best possible quality of experience for viewers, without wasting any overhead data.&nbsp;</p>



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



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



<p>VP9 has several advantages over other codecs. It’s open source, it works well with higher resolutions and enjoys support on many devices (including most browsers, mobiles and smart tvs). It also has drawbacks, such as slower encoding speed and slightly less playback support than H.264. If you’re delivering high-resolution videos VP9 is one of the strongest video codec choices, at least for now. If you want to target every legacy device, you’ll still need to use H.264 alongside VP9. You should consider which of these will make the most difference to your team and your customers when deciding what to use. If you need help upgrading or implementing multiple codecs, Bitmovin can help: <a target="_blank" rel="noreferrer noopener" href="https://bitmovin.com/encoding-service/"><u>https://bitmovin.com/encoding-service/</u></a></p>



<p>If you do choose VP9, you can take advantage of wide playback support, high-quality encoding, and a well-developed ecosystem of tools. It’s a great, low-cost way to deliver videos and can help you produce content that works for you and your clients.</p>



<p><em>Originally published in June 2021; this article was</em> <em>updated July 2023 for accuracy and completeness</em>.</p>



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



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



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



<h3 class="wp-block-heading" id="vp-9-fa-qs">VP9 FAQs</h3>



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



<h4 class="wp-block-heading" id="is-vp-9-better-than-h-264">Is VP9 better than H.264?</h4>



<p>This depends on the specific use case and requirements, but VP9 generally offers better compression efficiency and quality compared to H.264, making it a popular choice for online streaming platforms and web-based video content.</p>



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



<h4 class="wp-block-heading" id="what-is-vp-9-video-codec">What is VP9 video codec?</h4>



<p>VP9 is an open and royalty-free video codec developed by Google (go to their website to <a target="_blank" rel="noreferrer noopener nofollow" href="https://developers.google.com/media/vp9">find out more</a>). It is designed to efficiently compress and decompress video content, allowing for high-quality streaming and playback while reducing bandwidth usage.</p>



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



<h4 class="wp-block-heading" id="how-do-i-get-the-vp-9-codec">How do I get the VP9 codec?</h4>



<p>Playback support for the VP9 codec is usually included in modern web browsers, video players, and streaming platforms. If you&#8217;re developing software or working with specific applications that require VP9 support, you’ll need to use a video encoder with VP9 support, like Bitmovin or ffmpeg.</p>



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



<h4 class="wp-block-heading" id="is-vp-9-better-than-h-265">Is VP9 better than H.265?</h4>



<p>When comparing VP9 and H.265 (also known as HEVC), both codecs offer similar benefits in terms of quality and compression efficiency. The choice between them often depends on the specific requirements of the system or platform. H.265 is more widely supported, while VP9 is favored by Google and used extensively in the WebM container file format.</p>



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



<h4 class="wp-block-heading" id="what-is-vp-9-video-quality">What is VP9 video quality?</h4>



<p>VP9 video quality is generally considered to be very good. It can provide high-definition video playback with efficient compression, resulting in reduced bandwidth consumption while maintaining satisfactory visual quality. However, the actual quality may vary depending on factors such as the source material and encoding settings.</p>



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



<h4 class="wp-block-heading" id="is-vp-9-the-best-video-codec">Is VP9 the best video codec?</h4>



<p>While VP9 is a highly regarded codec, calling it the &#8220;best&#8221; depends on the context and criteria used for evaluation. VP9 has gained popularity due to its open and royalty-free nature, efficient compression, and wide adoption by major streaming platforms. However, other codecs like H.265 and AV1 also offer competitive features and more advanced video compression.</p>



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



<h4 class="wp-block-heading" id="what-is-vp-9-video-compression-technology">What is VP9 video compression technology?</h4>



<p>VP9 technology refers to the technical specifications, algorithms, and encoding/decoding techniques used in the VP9 codec. It incorporates advanced video compression methods such as block prediction, entropy coding, and spatial and temporal scalability to efficiently encode video data. VP9 is developed by Google as part of their efforts to improve video streaming and enable high-quality playback on the web.</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/vp9-codec-status-quo">VP9 Codec: The Complete Guide to Google&#8217;s Open Source Video Codec</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>4K Video at SD Bitrates with AV1</title>
		<link>https://bitmovin.com/av1-4k-video-sd-bitrates</link>
		
		<dc:creator><![CDATA[Andy Francis]]></dc:creator>
		<pubDate>Wed, 30 Mar 2022 15:51:05 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[av1]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=225381</guid>

					<description><![CDATA[<p>What if I told you I could get you a sweet deal on a beautiful 1080p movie for less than 300 kbps? How about some stunning 4K under 700 kbps? Sounds too good to be true, right? Especially when you look at the recommended internet connection speeds from services like Netflix, YouTube, and Disney+: SD:...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/av1-4k-video-sd-bitrates">4K Video at SD Bitrates with AV1</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">What if I told you I could get you a sweet deal on a beautiful 1080p movie for less than 300 kbps? How about some stunning 4K under 700 kbps? Sounds too good to be true, right? Especially when you look at the recommended internet connection speeds from services like </span><a href="https://help.netflix.com/en/node/306" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Netflix</span></a><span style="font-weight: 400;">, </span><a href="https://support.google.com/youtube/answer/78358?hl=en" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">YouTube</span></a><span style="font-weight: 400;">, and </span><a href="https://help.disneyplus.com/csp?id=csp_article_content&amp;sys_kb_id=bb07d3cd1b8d0010b8651f861a4bcbfd" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Disney+</span></a><span style="font-weight: 400;">:</span></p>
<p style="text-align: center;"><strong>SD:</strong><span style="font-weight: 400;"> 700 kbps to 1.1 Mbps </span></p>
<p style="text-align: center;"><strong>1080p HD:</strong><span style="font-weight: 400;"> 5 Mbps </span></p>
<p style="text-align: center;"><strong>4K UHD:</strong><span style="font-weight: 400;"> 15 Mbps to 25 Mbps</span></p>
<p><span style="font-weight: 400;">Those are largely based on what’s needed to view SD/HD content encoded with AVC and 4K content encoded with VP9 or HEVC. Apple’s </span><a href="https://developer.apple.com/documentation/http_live_streaming/http_live_streaming_hls_authoring_specification_for_apple_devices" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">HLS</span></a><span style="font-weight: 400;"> spec has examples for AVC and HEVC that fall in line with those numbers and they are familiar ranges to anyone who has done any live streaming recently. So I’ll ask again, would you be interested in 1080p at 286 kbps or 4K at 684 kbps? It really is possible, right now, with Bitmovin Per-Title and 3-pass encoding together with the industry standard AV1 codec. Keep reading to see a few real examples and learn how to get started with your own AV1 encoding.</span></p>
<h2><span style="font-weight: 400;">Leading the Way with AV1</span></h2>
<p><span style="font-weight: 400;">Bitmovin has a long history with </span><a href="https://bitmovin.com/av1/"><span style="font-weight: 400;">AV1</span></a><span style="font-weight: 400;">, first making headlines in 2017 for debuting the world’s first AV1 live stream at that year’s NAB show, winning a </span><a href="https://www.streamingmedia.com/Producer/Articles/Editorial/Featured-Articles/Streaming-Media-Announces-Best-of-NAB-2017-117833.aspx" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Best of NAB</span></a><span style="font-weight: 400;"> award in the process. Later that fall, we partnered with Mozilla to create the </span><a href="https://hacks.mozilla.org/2017/11/dash-playback-of-av1-video/" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">first AV1 HTML5</span></a><span style="font-weight: 400;"> playback demo in the Firefox browser. You can read more details about our history and progress with AV1 in this </span><a href="https://bitmovin.com/bitmovin-improves-av1-video-encoding/"><span style="font-weight: 400;">post</span></a><span style="font-weight: 400;">, but recent highlights include adding smart presets and support for 3-pass and </span><a href="https://go.bitmovin.com/choosing-per-title-encoding-technology"><span style="font-weight: 400;">Per-Title encoding optimization</span></a><span style="font-weight: 400;">. We’ve also developed 2 new patent-pending technologies around AV1 that we hope to share more details about soon!</span><br />
<span style="font-weight: 400;">While early adoption was limited by slower performance and minimal playback support, the data from our most recent </span><a href="https://go.bitmovin.com/video-developer-report"><span style="font-weight: 400;">Video Developer Report</span></a><span style="font-weight: 400;"> shows that AV1 may be at an inflection point, with 15% of respondents saying they were already using AV1 in 2021 and another 22% saying they planned on adding it to the mix in 2022.</span></p>
<p><figure id="attachment_225529" aria-describedby="caption-attachment-225529" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-225529 size-large" src="https://bitmovin.com/wp-content/uploads/2022/03/av1-usage-18-21-1024x577.png" alt="AV1 usage since 2018, 15% in 2021" width="1024" height="577" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-usage-18-21-300x169.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-usage-18-21.png?size=384x216&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-usage-18-21-768x433.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-usage-18-21-1024x577.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-usage-18-21.png?lossy=2&amp;strip=1&amp;webp=1 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-225529" class="wp-caption-text">AV1 usage since 2018, 15% in 2021</figcaption></figure></p>
<p><figure id="attachment_225523" aria-describedby="caption-attachment-225523" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-225523 size-large" src="https://bitmovin.com/wp-content/uploads/2022/03/av1-encoding-22-1024x577.png" alt="22% of respondents plan to start encoding with AV1 in 2022" width="1024" height="577" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22-300x169.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22.png?size=384x216&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22-768x433.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22-1024x577.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22-1536x865.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/av1-encoding-22.png?lossy=2&amp;strip=1&amp;webp=1 1999w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-225523" class="wp-caption-text">22% of respondents plan to start encoding with AV1 in 2022</figcaption></figure></p>
<p><span style="font-weight: 400;">Getting started with a new codec usually means beginning with some educated guesswork followed by a lot of experimentation that can end up being costly in terms of both time and resources. With AV1, we’re trying to help eliminate that phase altogether by pairing our Per-Title ABR ladder optimization together with 3-pass quality optimization in a SINGLE API CALL!!! Our </span><a href="https://bitmovin.com/simple-encoding-api/"><span style="font-weight: 400;">Simple Encoding API</span></a><span style="font-weight: 400;"> combines Bitmovin’s market-leading quality together with DASH and HLS packaging, delivering the ideal bitrates to maximize QoE without any unnecessary overhead data. You choose the codec, provide the source file and destination and that’s it, no other configuration required. We also have a </span><a href="https://www.postman.com/bitmovin-simple-encoding/workspace/4b3f8ccb-66c0-4379-8cff-e282c9804e03/request/18670786-98741a2a-dc35-4532-964e-8802942bb315?ctx=documentation" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Postman Repository</span></a><span style="font-weight: 400;"> with some example templates, which is actually what I used to create the AV1 samples below. For workflows requiring additional configuration, AV1 and Per-Title are fully available and supported within our standard APIs and SDks.</span></p>
<h2><span style="font-weight: 400;">4K Bitrates: YouTube VP9 vs Bitmovin AV1</span></h2>
<p><span style="font-weight: 400;">YouTube’s use of AV1 and other codecs was covered thoroughly in an enlightening </span><a href="https://streaminglearningcenter.com/codecs/which-codecs-does-youtube-use.html" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">series</span></a> <a href="https://streaminglearningcenter.com/codecs/which-codec-does-youtube-use-part-deux.html" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">of</span></a> <a href="https://streaminglearningcenter.com/codecs/which-codec-does-youtube-use-part-iii.html" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">posts</span></a><span style="font-weight: 400;"> by Jan Ozer. The quick recap is that YouTube is using AV1 for the 4K versions of their popular videos, but VP9 for less-viewed 4K content, as I confirmed with my own uploads below. So while it would be nice and a more direct comparison if we had the results of YouTube’s AV1 transcoding, it’s still interesting to see the potential bitrate savings when jumping from VP9 to AV1. For the analysis, I used </span><a href="https://youtube-dl.org/" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">youtube-dl</span></a><span style="font-weight: 400;"> to download the 4K VP9 versions and </span><a href="https://mediaarea.net/en/MediaInfo" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">MediaInfo</span></a><span style="font-weight: 400;"> to identify the bitrate.  </span></p>
<h3><span style="font-weight: 400;">Shot on iPhone 13 &#8211; “marina”</span></h3>
<p><span style="font-weight: 400;">First let’s look at a short 4K (3840 x 2160) clip I shot on iPhone 13, “marina”. It’s a mostly static shot, with a few high motion/high detail regions. Bitmovin’s Per-Title optimization set the top 4K ladder rung at 1.37 Mbps. At the low end, the 240 kbps rendition was 1440p, meaning even on the slowest connections, viewers would still see better than full HD.</span><br />
<span style="font-weight: 400;">[bitmovin_player id=&#8217;225410&#8242;]</span></p>
<p><figure id="attachment_225525" aria-describedby="caption-attachment-225525" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-225525 size-large" src="https://bitmovin.com/wp-content/uploads/2022/03/marina-abr-ladder-1-1024x461.png" alt="“marina” 4k Bitmovin Per-title ABR Ladder" width="1024" height="461" /><figcaption id="caption-attachment-225525" class="wp-caption-text">“marina” 4k Bitmovin Per-title ABR Ladder</figcaption></figure></p>
<p style="text-align: center;"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/RfAYtJRra-0" width="1024" height="570" frameborder="0" allowfullscreen="allowfullscreen"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span></iframe><br />
<span style="font-weight: 400;">Youtube’s 4K version &#8211; VP9 @ ~22 Mbit/s</span></p>
<h3><span style="font-weight: 400;">Big Buck Bunny</span></h3>
<p><span style="font-weight: 400;">Next, let&#8217;s look at a more familiar example, everyone’s favorite animated short,  Big Buck Bunny. On the top end, Bitmovin’s Per-Title AV1 delivers 4K under 2 Mbps. The bottom 240kbps rung is 1600 x 900, so even on over-shared wifi, your users would still be happily watching even better than 720p video. You can see the result <a href="https://bitmovin.com/demos/stream-test?format=dash&amp;manifest=https%3A%2F%2Fcdn.bitmovin.com%2Fwebsite-assets%2Fbbb%2Fstream.mpd" target="_blank" rel="noopener">here</a>.</span><span style="font-weight: 400;"> </span></p>
<p><figure id="attachment_225524" aria-describedby="caption-attachment-225524" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-225524 size-large" src="https://bitmovin.com/wp-content/uploads/2022/03/big-buck-bunny-abr-ladder-1-1024x491.png" alt="“Big Buck Bunny” 4k Bitmovin Per-title ABR Ladder" width="1024" height="391" /><figcaption id="caption-attachment-225524" class="wp-caption-text">“Big Buck Bunny” 4k Bitmovin Per-title ABR Ladder</figcaption></figure></p>
<p style="text-align: center;"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/C8KW2bYl8ro" width="1025" height="570" frameborder="0" allowfullscreen="allowfullscreen"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span></iframe><br />
<span style="font-weight: 400;">Youtube’s 4K version &#8211; VP9 @ ~12 Mbit/s</span></p>
<h3><span style="font-weight: 400;">Tears of Steel</span></h3>
<p><span style="font-weight: 400;">Last but not least, we have Tears of Steel, the cinematic short from the </span><a href="https://mango.blender.org/about/" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Blender Foundation</span></a><span style="font-weight: 400;"> that combines real footage and human actors with computer generated animation and effects. Again we see the top quality 4K variant under 2 Mbps and  still have a full HD frame for the bottom 240 kbps version. Imagine being able to deliver at least HD video to all of your customers, regardless of connection speed. You can see the result <a href="https://bitmovin.com/demos/stream-test?format=dash&amp;manifest=https%3A%2F%2Fcdn.bitmovin.com%2Fwebsite-assets%2Ftos%2Fstream.mpd" target="_blank" rel="noopener">here</a>.</span></p>
<p><figure id="attachment_225526" aria-describedby="caption-attachment-225526" style="width: 1024px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-225526 size-large" src="https://bitmovin.com/wp-content/uploads/2022/03/tears-of-steel-abr-ladder-1024x491.png" alt="“Tears of Steel” 4k Bitmovin Per-title ABR Ladder" width="1024" height="491" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder-300x144.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder.png?size=384x184&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder-768x368.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder-1024x491.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder-1536x736.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2022/03/tears-of-steel-abr-ladder.png?lossy=2&amp;strip=1&amp;webp=1 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption id="caption-attachment-225526" class="wp-caption-text">“Tears of Steel” 4k Bitmovin Per-title ABR Ladder</figcaption></figure></p>
<p style="text-align: center;"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/knm8ho68D1k" width="1024" height="570" frameborder="0" allowfullscreen="allowfullscreen"><span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start">﻿</span></iframe><br />
<span style="font-weight: 400;">Youtube’s 4K version &#8211; VP9 @ ~12 Mbit/s</span></p>
<h2><span style="font-weight: 400;">Get Started Now and Ride the AV1 Momentum</span></h2>
<p><span style="font-weight: 400;">YouTube and Netflix have both been delivering AV1 to compatible Android devices since 2020 and last November, Netflix published a </span><a href="https://netflixtechblog.com/bringing-av1-streaming-to-netflix-members-tvs-b7fc88e42320" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">detailed post</span></a><span style="font-weight: 400;"> about using AV1 for 4K content, so while support for AV1 still lags a bit behind older codecs, there’s clearly already enough of a device footprint to make it worthwhile. </span><a href="https://bitmovin.com/av1-encoding-gift-guide/"><span style="font-weight: 400;">Roku and Amazon’s newest “sticks”</span></a><span style="font-weight: 400;"> and the upcoming generation of Chromecasts are all &lt;$100 options that give older TVs an AV1 upgrade and </span><a href="https://www.anandtech.com/show/17266/intels-arctic-soundm-server-accelerator-to-land-mid2022-with-hardware-av1-encoding" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Intel</span></a><span style="font-weight: 400;">, </span><a href="https://www.protocol.com/newsletters/entertainment/av1-open-video-codec?rebelltitem=1#rebelltitem1" target="_blank" rel="noopener nofollow noreferrer"><span style="font-weight: 400;">Qualcomm</span></a><span style="font-weight: 400;">, and multiple SoC manufacturers have recently announced upcoming AV1 support, so the wave of capable devices will continue growing. While the actual numbers will vary based on your CDN and storage pricing, we’re seeing that for content with as few as 10K views, there is potential ROI in adding AV1 to your multi-codec strategy (AVC +HEVC). </span></p>
<p><span style="font-weight: 400;">Updating to AV1 means being able to deliver at least HD, in many cases 4K, over network connections that had been limited to Standard Def or compromised, blocky versions of your content. Improving and maintaining consistently higher quality with AV1 means happier customers and a larger potential market for HD and UHD upsell tiers, not to mention lower CDN and storage costs. For most streaming services, adding AV1 to their multi-codec strategy will be inevitable, the only question is how soon will they start reaping the benefits?</span><br />
<span style="font-weight: 400;">You can start seeing the benefits of AV1 + Per-Title and 3-Pass encoding today with our free trial, so </span><a href="https://bitmovin.com/dashboard/signup?"><span style="font-weight: 400;">sign up now</span></a><span style="font-weight: 400;"> and give it a shot! </span><span style="font-weight: 400;">! </span><br />
<strong>AV1 is the next generation video codec and it&#8217;s on track to deliver a 30% improvement over VP9 &amp; HEVC &#8211; </strong><a href="https://bitmovin.com/av1/">Learn More</a></p>
<h2><strong>More AV1 Resources:</strong></h2>
<ul>
<li><a href="https://bitmovin.com/bitmovin-improves-av1-video-encoding/">Bitmovin Improves Support AV1 Video Encoding for VoD</a></li>
<li><a href="https://bitmovin.com/av1-encoding-gift-guide/">Bitmovin’s AV1 Encoding Gift Guide</a></li>
<li><a href="https://bitmovin.com/cool-new-video-tools-five-encoding-advancements-coming-av1/">Cool New Video Tools: Five Encoding Advancements Coming in AV1</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://bitmovin.com/av1-4k-video-sd-bitrates">4K Video at SD Bitrates with AV1</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
		<media:content url="https://www.youtube.com/embed/RfAYtJRra-0" medium="video" width="1280" height="720">
			<media:player url="https://www.youtube.com/embed/RfAYtJRra-0" />
			<media:title type="plain">marina</media:title>
			<media:thumbnail url="https://bitmovin.com/wp-content/uploads/2022/03/BLOG_4K_Video_at_SD_Bitrates_with_AV1_clean-2.jpg" />
			<media:rating scheme="urn:simple">nonadult</media:rating>
		</media:content>
	</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>VP9 Codec: MPEG-DASH VP9 for VoD and Live</title>
		<link>https://bitmovin.com/mpeg-dash-vp9-vod-live</link>
		
		<dc:creator><![CDATA[Martin Smole]]></dc:creator>
		<pubDate>Fri, 24 Mar 2017 12:45:26 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[MPEG-DASH]]></category>
		<category><![CDATA[video encoding]]></category>
		<category><![CDATA[VP9]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=18853</guid>

					<description><![CDATA[<p>VP9 is the next level in video compression and can help you to save up to 50% on your CDN costs, or significantly increase the quality of your streams. We are happy to announce the introduction of full VP9 support for our HTML5 video player and our video encoder, both in the cloud as well...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/mpeg-dash-vp9-vod-live">VP9 Codec: MPEG-DASH VP9 for VoD and Live</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote><p>VP9 is the next level in video compression and can help you to save up to 50% on your CDN costs, or significantly increase the quality of your streams.</p></blockquote>
<p>We are happy to announce the introduction of full VP9 support for our <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 video</a> player and our video encoder, both in the cloud as well as for containerized deployments that can run on-premise or in your own cloud account with Docker and Kubernetes. VP9 has recently gained popularity as there is still an uncertain royalty situation with <a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC</a> which is the main competitor for VP9. Similar to HEVC, VP9 can perform up to 50% better, as a compression format, than H.264/AVC, especially for UHD or 4K resolutions. This results in higher quality video that can be delivered to the users, or help saving on bandwidth and thus reduce CDN costs by up to 50%!<br />
VP9 is a royalty free codec that is developed by Google as an alternative to the commercial video formats. YouTube has been successfully <a href="https://youtube-eng.googleblog.com/2015/04/vp9-faster-better-buffer-free-youtube.html" target="_blank" rel="noopener noreferrer nofollow">using VP9 to deliver video content to their users</a> for several years already and claims to deliver the same quality at half the bandwidth used by H.264/AVC. This is why YouTube prefers to stream VP9 on browsers/devices that have support for it, delivering better quality with less bandwidth. When streaming UHD and 4K content, VP9 is getting even more efficient. YouTube has chosen to deliver 4K resolutions only with VP9 and thus <a href="http://www.redsharknews.com/technology/item/4409-google-is-getting-aggressive-with-its-vp9-4k-video-format" target="_blank" rel="noopener noreferrer nofollow">locking out Safari users to consume 4K content via YouTube</a>.<br />
This rise in popularity of VP9 is not only caused by the uncertain situation with the HEVC royalties, but also because of the ongoing development of AV1, a royalty-free video coding format developed by the Alliance for Open Media, which can basically be seen as a successor of VP9.<br />
Looking at the range of supported browsers, VP9 is well ahead of HEVC. As of early 2017, VP9 is supported by roughly 75% of the browser market. This includes Google Chrome, Firefox, Opera, and also Microsoft Edge since summer 2016. On the other hand, HEVC is only supported in Microsoft Edge in cases where hardware decoding is available.<br />
The Bitmovin encoder produces segmented VP9, which is perfectly suited for VoD streams as well as live streams. Furthermore our Live-to-VoD workflow fits perfectly with this format and allows you to generate VoD streams out of the live stream right after the stream has finished or even while the live stream is still running.</p>
<h2>VoD Encoding for MPEG-DASH VP9</h2>
<p>With the Bitmovin API you can create MPEG-DASH VP9 content for live as well as VoD use-cases. First we will demonstrate how to create an encoding job with MPEG-DASH VP9 output with our <a href="https://github.com/bitmovin/bitmovin-dotnet/" target="_blank" rel="noopener noreferrer nofollow">C# API Client</a>. <a href="https://github.com/bitmovin/bitmovin-dotnet/blob/develop/examples/VP9VodEncoding.cs" target="_blank" rel="noopener noreferrer nofollow">A full example</a> can be found in our examples list in the GitHub repository.</p>
<h3>Setup the Bitmovin API client with your API key</h3>
<pre><pre class="brush: csharp; title: ; notranslate">var bitmovin = new BitmovinApi(API_KEY);</pre>
<h3>Create an output configuration</h3>
<p>We are using a Google Cloud Storage bucket as output location for the MPEG-DASH VP9 content. However, if you prefer you could also use an AWS S3, Azure Blob, Scality, FTP, SFTP, or any S3 compatible storage instead.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var output = bitmovin.Output.Gcs.Create(new GcsOutput
{
    Name = &quot;GCS Ouput&quot;,
    AccessKey = GCS_ACCESS_KEY,
    SecretKey = GCS_SECRET_KEY,
    BucketName = GCS_BUCKET_NAME
});
</pre>
<h3>Create an encoding and define the cloud region and version to be used</h3>
<p>When you create an encoding you can choose the cloud region where the encoder should run. Ideally, the region matches the cloud region in which your bucket resides in so you save egress traffic. Besides the cloud region you can also pinpoint special encoder versions or use our STABLE branch that always points to the latest stable encoder version.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var encoding = bitmovin.Encoding.Encoding.Create(new Encoding.Encoding
{
    Name = &quot;VP9 VoD Encoding C#&quot;,
    CloudRegion = EncodingCloudRegion.GOOGLE_EUROPE_WEST_1,
    EncoderVersion = &quot;STABLE&quot;
});
</pre>
<h3>Create an input source</h3>
<p>We need to create a source for your input file. If you have stored your input files on an HTTP server, you can just configure this server as source of your inputs with the code below. Please note that many other input sources such as AWS S3, Google Cloud Storage, Azure Blob, Aspera, (S)FTP, Scality and any S3 compatible storage is also supported.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var httpHost = bitmovin.Input.Http.Create(new HttpInput
{
    Name = &quot;HTTP Input&quot;,
    Host = INPUT_HTTP_HOST
});
</pre>
<h3>Create video codec configurations and add it to the encoding</h3>
<p>A codec configuration contains the encoding related configuration for a video rendition or an audio rendition. You need to link the codec configuration to a stream of your encoding that connects an input stream with the codec configuration. For example, link your input video stream to a H.264 1080p codec configuration will encode this video stream to H.264 1080p output. The following example uses the AUTO selection mode and position “0”, thus links this configuration to the first video stream of the input file. Beside VP9 we also support H.264/AVC and H.265/HEVC as codecs, and resolutions of 8K and higher.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var videoConfig1080p = bitmovin.Codec.VP9.Create(new VP9VideoConfiguration
{
    Name = &quot;VP9_Profile_1080p&quot;,
    Width = 1920,
    Height = 1080,
    Bitrate = 4800000,
    Rate = 30.0f
});
var videoStream1080p = bitmovin.Encoding.Encoding.Stream.Create(encoding.Id,
                CreateStream(httpHost, INPUT_HTTP_PATH, 0, videoConfig1080p, SelectionMode.VIDEO_RELATIVE));
</pre>
<p>Similar to the code above you can add more video codec configurations and then add them to streams of your encoding to generate alternative renditions (e.g., 720p, 360p, etc.). Additionally to the video rendition you may also want to add an audio track. For audio it works in the same way as for video, as you will see in the example below:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var audioConfig = bitmovin.Codec.Aac.Create(new AACAudioConfiguration
{
    Name = &quot;AAC_Profile_128k&quot;,
    Bitrate = 128000,
    Rate = 48000
});
var audioStream = bitmovin.Encoding.Encoding.Stream.Create(encoding.Id,
                CreateStream(httpHost, INPUT_HTTP_PATH, 0, audioConfig, SelectionMode.AUDIO_RELATIVE));
</pre>
<h3>Mux the encoded data for MPEG-DASH</h3>
<p>In order to create MPEG-DASH, the VP9 encoded data needs to be packaged accordingly. In the following lines of code we will define segmented WebM for MPEG-DASH. Here you also define how long a single segment should be. Note that we also define where the segments should be stored in your output bucket. You have full control over the output location of the video and the audio streams. If you added multiple video renditions you also need to create a segmented WebM muxing for each rendition.<br />
First we will create the required fMP4 muxings for MPEG-DASH:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var videoWebmMuxing1080p = bitmovin.Encoding.Encoding.SegmentedWebm.Create(encoding.Id,
    CreateSegmentedWebmMuxing(videoStream1080p, output, OUTPUT_PATH + &quot;video/1080p&quot;, segmentLength));
var audioFMP4Muxing = bitmovin.Encoding.Encoding.Fmp4.Create(encoding.Id,
    CreateFMP4Muxing(audioStream, output, OUTPUT_PATH + &quot;audio/128kbps&quot;, segmentLength));
</pre>
<h3>Start the VP9 Encoding</h3>
<p>Finally we can start the encoding job to encode your source asset to MPEG-DASH VP9.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
bitmovin.Encoding.Encoding.Start(encoding.Id);
</pre>
<p>With the following code snippet you can wait for the encoding job to be finished:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var encodingTask = bitmovin.Encoding.Encoding.RetrieveStatus(encoding.Id);
while (encodingTask.Status != Status.ERROR &amp;amp;amp;amp;&amp;amp;amp;amp; encodingTask.Status != Status.FINISHED)
{
    // Wait for the encoding to finish
    encodingTask = bitmovin.Encoding.Encoding.RetrieveStatus(encoding.Id);
    Thread.Sleep(2500);
}
</pre>
<p>Besides that you can also use webhooks to get notified as soon as the encoding job has finished.</p>
<h3>Create the MPEG-DASH Manifest</h3>
<p>After the encoding is finished we also need an MPEG-DASH manifest in order to be able to playback the content with MPEG-DASH players. With the Bitmovin API you have full control over creating manifests, e.g., create multiple manifests with a different set of qualities for targeting desktop or mobile, etc. When creating the MPEG-DASH manifest you also specify the output and the location and filename of the manifest:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var manifestOutput = new Encoding.Output
{
    OutputPath = OUTPUT_PATH,
    OutputId = output.Id,
    Acl = new List&amp;amp;amp;lt;Acl&amp;amp;amp;gt; {new Acl {Permission = Permission.PUBLIC_READ}}
};
var manifestDash = bitmovin.Manifest.Dash.Create(new Dash
{
	Name = &quot;MPEG-DASH VP9 Manifest&quot;,
	ManifestName = &quot;stream.mpd&quot;,
	Outputs = new List&amp;amp;amp;lt;Encoding.Output&amp;amp;amp;gt; { manifestOutput }
});
</pre>
<p>Define the default period and video and audio adaptation sets. In the audio adaptation set you can define the language of the audio track.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var period = bitmovin.Manifest.Dash.Period.Create(manifestDash.Id, new Period());
var videoAdaptationSet =
	bitmovin.Manifest.Dash.VideoAdaptationSet.Create(manifestDash.Id, period.Id, new VideoAdaptationSet());
var audioAdaptationSet = bitmovin.Manifest.Dash.AudioAdaptationSet.Create(manifestDash.Id, period.Id,
	new AudioAdaptationSet { Lang = &quot;en&quot; });
</pre>
<p>Add the created segmented WebM muxings to the adaptation sets. You also need to define the relative path to the segments based on the manifest output location:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
bitmovin.Manifest.Dash.Webm.Create(manifestDash.Id, period.Id, videoAdaptationSet.Id,
    new Manifest.Webm
    {
        Type = SegmentScheme.TEMPLATE,
        EncodingId = encoding.Id,
        MuxingId = videoWebmMuxing1080p.Id,
        SegmentPath = &quot;video/1080p&quot;
    });
bitmovin.Manifest.Dash.Webm.Create(manifestDash.Id, period.Id, audioAdaptationSet.Id,
    new Manifest.Webm
    {
        Type = SegmentScheme.TEMPLATE,
        EncodingId = encoding.Id,
        MuxingId = audioWebmMuxing.Id,
        SegmentPath = &quot;audio/128kbps&quot;
    });
</pre>
<p>After that the manifest is configured completely, we can start the manifest creation:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
bitmovin.Manifest.Dash.Start(manifestDash.Id);
</pre>
<p>Equally, as for the encoding job, we also need to wait for a successful manifest creation:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var status = bitmovin.Manifest.Dash.RetrieveStatus(manifestDash.Id);
while (status.Status == Status.RUNNING)
{
    status = bitmovin.Manifest.Dash.RetrieveStatus(manifestDash.Id);
    Thread.Sleep(2500);
}
</pre>
<p>Again, you can also use webhooks here to get notified as soon as the manifest creation is finished. After that, we have an MPEG-DASH manifest for the VP9 encoded content available and can test the playback in MPEG-DASH compatible players like the Bitmovin player, Shaka player, or Dash.js.</p>
<h3>Live Encoding for MPEG-DASH VP9</h3>
<p>Starting a live encoding for MPEG-DASH VP9 is not much different to starting a VoD encoding. We also have a full example available in our GitHub repository.<br />
Obviously, the input will not be based on a file but rather be an RTMP source. The following shows how to grab the default RTMP input that is available in your account.</p>
<pre><pre class="brush: csharp; title: ; notranslate">
var rtmpInput = bitmovin.Input.Rtmp.RetrieveList(0, 100)&#x5B;0];
</pre>
<p>When creating the streams in the different qualities, use the rtmpInput instead of the HTTP input from the example above.<br />
The second difference is related to the manifest generation which must be done before the live encoder is started. Just create the MPEG-DASH manifest as in the example above, and pass it in the start encoding call:</p>
<pre><pre class="brush: csharp; title: ; notranslate">
bitmovin.Encoding.Encoding.StartLive(encoding.Id, new StartLiveEncodingRequest
{
    StreamKey = &quot;YourStreamKey&quot;,
    DashManifests = new List&amp;amp;amp;lt;LiveDashManifest&amp;amp;amp;gt;
    {
        new LiveDashManifest
        {
            ManifestId = manifestDash.Id,
            Timeshift = 300,
            LiveEdgeOffset = 180
        }
    }
});
</pre>
<p>That is the whole difference when starting a live encoding compared to a VoD encoding.</p>
<h3>Playback of MPEG-DASH VP9 Content</h3>
<p>There is no difference between the playback of VP9 encoded MPEG-DASH streams and H.264 encoded MPEG-DASH streams. In both cases you set the MPEG-DASH manifest as the source for your player and there is no need to define the type of codec that is used. Below you can see an example of our player with VP9 encoded content through our Bitmovin API.</p>
<div id="vp9-unsupported-message" style="display: none;">VP9 playback is not supported by your browser, falling back to H.264 playback.</div>
<div id="player"></div>
<p><script type="text/javascript" src="https://bitmovin-a.akamaihd.net/bitmovin-player/beta/7.2.0-b2/bitmovinplayer.js"></script><br />
<script type="text/javascript"><br />
 var conf = {<br />
   key: '29ba4a30-8b5e-4336-a7dd-c94ff3b25f30',<br />
   source: {<br />
     title: 'Art of Motion',<br />
     description: 'What is this event... Parcour?',<br />
     dash: '//bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd',<br />
     hls: '//bitmovin-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8',<br />
     progressive: '//bitmovin-a.akamaihd.net/content/MI201109210084_1/MI201109210084_mpeg-4_hd_high_1080p25_10mbits.mp4',<br />
     poster: '//bitmovin-a.akamaihd.net/content/art-of-motion_drm/art-of-motion_poster.jpg'<br />
   }<br />
 };<br />
 if ('MediaSource' in window && MediaSource.isTypeSupported('video/webm; codecs="vp9"')) {<br />
   conf.source.dash = 'https://bitdash-a.akamaihd.net/content/vp9/rb_aom/stream.mpd';<br />
 } else {<br />
   document.querySelector('#vp9-unsupported-message').style.display = 'block';<br />
 }<br />
 var player = bitmovin.player('player');<br />
 player.setup(conf).then(function() {<br />
   console.log('player loaded');<br />
 }, function(reason) {<br />
   console.error('player setup failed');<br />
   console.error(reason);<br />
 });<br />
</script></p>
<div class="prod-engage-text-button_2 col-6-12 mob-1-1">
<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 [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>
</div>
<style class="advgb-styles-renderer">.bitmovinplayer-ad-container, .bitmovinplayer-container {background-color:#fff!important;}</style>
<p>The post <a rel="nofollow" href="https://bitmovin.com/mpeg-dash-vp9-vod-live">VP9 Codec: MPEG-DASH VP9 for VoD and Live</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
