Static FFmpeg build for VP9 HDR by id3as
- info@id3as.co.uk
- Feb 20, 2018
- 3 min read
While id3as produces Erlang based, proprietary engineering for Broadcasters, Carriers and Publishers with complex Video Workflow requirements in (typically) virtual environments, we are aware that many of the customers who come to us have reached the limits of the off-the-shelf products that the traditional market has offered them, and who want something tailor engineered to their requirements.
One of the most common tools within these off-the-shelf products is the open source tool FFmpeg (www.ffmpeg.org). For the layman FFmpeg takes a little learning, but once up to speed it is a fantastic, versatile tool which has immense success: Numerous Google products are powered by FFMpeg for example, and that is a fairly strong endorsement!!
Under the hood quite a few of the off-the-shelf 'Encoder' appliances in the market today extensively use FFmpeg under the covers to interface with underlying CoDecs. This differs from id3as' own software which is written in Erlang and always interfaces directly with any CoDec we use to ensure we have control of everything and can make the CoDec to anything it is capable of. The extreme level of control that this brings is really important to our clients.
There is no point in id3as putting a commercial proposition to the market which can readily be supported by the free and open source FFmpeg: We find more value in delivering to those exceptional use-cases, rather than competing with 'free'.
For that reason we at id3as track FFmpeg reasonably closely.
As part of a project working with Google's WebM group recently, the id3as team noticed that most of the public FFmpeg repositories underlying the majority of operating systems had out-of-date or inconsistent static FFmpeg implementations - in particular when it came to focussing on High Dynamic Range (HDR) encoding using the WebM groups libvpx libraries for VP9 encoding.
For the purposes of that project we threw some internal expertise and resource at producing a robust build script for FFmpeg which enables a build on (so far tested) Centos 7, Ubuntu 16.04 and Debian 9 Operating Systems, and the resulting static build of FFmpeg is a single file that can simply be copied to any compatible Linux machine
Once installed this build will execute 10-bit HDR VP9 encoding properly. We hope that that build script will be useful to others, and so we thought it would be helpful to release it to the community: That way you can simply run the build, and distribute the resulting binary across your infrastructure, and go straight into 10bit HDR VP9 encoding without the challenges that the distributions of FFmpeg that we encountered were introducing. id3as is not likely to make a habit of open sourcing its expertise (!) but this one seemed like it deserved the effort, and would be invaluable to some. Please note though that it is offered 'as-is' (although we might occasionally reply to comments on the release pages). If, of course, you are a commercial operator and would like us to deliver you a highly scalable, highly available, carrier grade workflow with some cloud scale and ultra resilient Erlang tools and direct access to ALL the capabilities of your chosen CoDecs then do please drop us a line on info@id3as.co.uk! In the meanwhile if you would like to access the open source build scripts they can be found on GitHub from the 'active' page on www.id3as.co.uk
Comments