Log in

View Full Version : SVT Encore – Abstract the Transcoding Power of FFmpeg


Mr_Khyron
9th May 2021, 23:36
https://github.com/svt/encore
https://svt.github.io/encore-doc/

https://svt.github.io/encore-doc/#projecthistory


Project History

The initiative

It was around 2018, and it was time to yet again update the license and the hardware for our proprietary non-flexible transcoding solution. Although that unnamed solution had served us very well, we also had a history of less than optimal transcoding, flexibility and support when things went wrong. Around that period, it happened that, our organisation was preparing the next "Tekniksprint". A "Tekniksprint" is an "innovate for an entire sprint" period, which happens two times a year at our organisation. That time, a small team gathered, with the purpose of seeing how much of a video transcoding solution that could be built in two weeks. So, with warts, hacks and shortcuts, we had a fun Sprint period, and also ended up with something almost usable, see links. And, yes, it even had GUI, so that we could make it pretty demo friendly. However, it was not very robust, and something we could build further upon.

By having a Proof-of-Concept project, we now could now walk the long and winding internal organisation road of convincing everyone that we could, and that we should re-write the project seriously - considering flexibility, features and support in comparison with others.

The development

It almost became a meme for us, but in 2019 we wrote ut, tested it, and ran it in production, with so good results, that we could ditch out proprietary solution. In fact, Encore helped us achieve better quality, better flexibility, and saved us money - the costs for developing the Encore solution was multitudes less than buying just another new stack.

We now had an easier way to work with new codecs and transcoding features that would be impossible, had we chosen another proprietary solution.

The Open Source Encore

We always had the intention to Open Source the solution, as we heard that others, mainly friends in Public Broadcast organisations, had an interest in the product. So during 2019/20 , with almost every Sprint-period, we tried to have at least a task that was directly prepared with Open Sourcing Encore. Slowly, but determined.

From license research, documentation, basic code cleanups, removing the most SVT-specific code, and releasing libraries that would make it possible to release the project itself. Warts and all, finally we got there.

So far, Encore has been a success story for us at SVT. We sincerely hope that it can benefit you, and with time grow to be an even greater transcoding solution.

/The Videocore Team at SVT (https://en.wikipedia.org/wiki/Sveriges_Television)




SVT Encore



SVT Encore is a scalable video transcoding tool, built on Open Source giants like FFmpeg and Redisson.

Encore was created to scale, and abstract the transcoding power of FFmpeg, and to offer a simple solution for Transcoding - Transcoding-as-a-Service.

Encore is aimed at the advanced technical user that needs a scalable video transcoding tool - for example, as a part of their VOD (Video On Demand) transcoding pipeline.
Features

Scalable - queuing and concurrency options
Flexible profile configuration
Possibility to extend FFmpeg functionality
Tested and tried in production

Encore is not

A live/stream transcoder
A Video packager (see <>)
An GUI application

Built with

Kotlin
Gradle
Spring Boot
FFmpeg
Redisson
and many other great projects

Documentation

Comprehensive documentation for Encore can (and should) be read:

Online

or downloaded from the:

GitHub Repository

If you have a running instance, you can also view the

OpenAPI Endpoints:

http(s)://yourinstance/swagger-ui.html

as json

http(s)://yourinstance/v3/api-docs/

or as yaml

http(s)://yourinstance/v3/api-docs.yaml

Local development

Please see the online documentation
License

Copyright 2020 Sveriges Television AB.

Encore is licensed under the

EUPL-1.2-or-later license
Primary maintainer

SVT Videocore Team - (videocore svt se)
Encore is aimed at the advanced technical user that needs a scalable video transcoding tool - for example, as a part of their VOD (Video On Demand) transcoding pipeline.