2015-12-15

High Efficiency Video Coding (HEVC) or H.265 is a compression standard that was jointly developed by ISO/IEC MPEG SC29/WG11 and the ITU-T Video Coding Experts Group (VCEG). The standard got officially ratified by MPEG on the 13th of April 2013. As for every new video codec the goal of HEVC was to double the compression while maintaining similar or same video quality compared to its predecessor H.264/AVC. HEVC has been designed to take advantage of very high resolutions such as 4K and 8K which contain usually very wide areas of similar blocks. Therefore, one of the first things that got changed was the block size on which the codec operates. H.264/AVC was using 16 by 16 blocks at a maximum and these blocks got replaced by Coding Tree Units (CTU) that can take up to 64 by 64 sizes at a maximum. This allows to take advantage of big homogenous areas as very big blocks can be used that enable higher efficiency. Beside that HEVC only allows Context Adaptive Binary Arithmetic Coding (CABAC) as entropy encoder as it is the most efficient one and decoding performance considerations are less important now as every smartphone has already two or more cores and built-in decoding chipsets.



There are several other small improvements that lead to the encoding efficiency gain and the performance of the HEVC implementations will definitely increase in the next few years. Additionally, MPEG added the support for HEVC in several container formats such as MPEG 2 Transport Stream (MP2TS) and ISO Base Media File Format (IBMFF) that is used as basis for MP4. As MPEG DASH is container and codec agnostic HEVC is anyway supported but with the support in the MP4 container format it’s even easier to integrate HEVC seamlessly into your workflow.

MPEG DASH HEVC encoding with the bitcodin API

MPEG DASH HEVC encoding with bitcodin is very simple and supported through our REST-API and with our API Clients such as PHP and Python. Basically it is just one parameter in the Encoding Profile that needs to be changed. Specifically the codec attribute in the Encoding Profile needs to be changed to hevc. This attribute is optional which means if you don’t specify it we will use h264 as codec. Currently MPEG DASH HEVC is supported within all plans and for all of our users.



Python API Client MPEG DASH HEVC

A simple Python example of an MPEG DASH HEVC encoding could be found at our python github example.

Follow the instructions on github to setup bitcodin-python.

Make sure to set the correct API key:

Create an MPEG DASH HEVC encoding profile

Create and start MPEG DASH HEVC encoding

Playback with bitdash

bitdash utilizes the browser build-in HTML5 Media Source Extensions (MSE) to playback HEVC nativ through the browser decoding engine. If the underlying browser supports HEVC, bitdash supports it too. Currently this works only on Microsoft Edge but with MPEG-DASH you can use H.264/AVC in parallel with H.265/HEVC and just devices that are capable of playing HEVC will use the HEVC Representations.

Conclusion

HEVC is probably the most efficient codec out in the market and it’s worth to try it out. The integration with MPEG DASH is seamless and the bitcodin API allows you to setup an HEVC encoding workflow in just some minutes. If you want try our MPEG DASH HEVC encoding with your content you can use our free plan with 2.5GB encoding output per month. That’s great for testing and playing around with our HEVC encoder.

MPEG DASH HEVC Encoding

Learn more about bitcodin

The post MPEG DASH HEVC Encoding appeared first on bitcodin Video Encoding Service.

Show more