Channel Fight is a cross device video on demand platform for the discovery and enjoyment of the best martial arts movies from around the world. We were approached to tackle some challenges that were being faced with their current workflow for encoding assets for delivery to the end platform. As well as reviewing and improving the current workflow, we were also required to define both supplier mezzanine (+ sidecar subtitles) and platform deliverable specifications.
When looking into to desktop encoding products such as Squeeze and Episode as more of the workflow requirements came in, it became apparent that these would not cut the mustard. What would seem like simple options, such as overlaying a bug or burning in subtitles are not available in products such as these. Although a mezzanine specification had not yet been defined suppliers were already starting to send source content. Because of the variety of frame rates, scan types etc it was apparent that the new workflow would be able to automatically take into account the various source attributes and process it accordingly to produce artifact free outputs. Without automating such decisions there would need to be and endless list of encoding profiles where a poor operator would need to select the relevant one.
Unfortunately due to budgetary constraints the likes of Telestream’s Vantage were not an option.
On doing some research as to what other automation options there may be i stumbled across and application called FFAStrans. Which is described as an unattended Windows tool aimed at broadcasters and video professionals for automatic transcoding of media files through drop folders. It’s based on FFMpeg and relies on AviSynth for filters.
Was it going to be to good to be true, that someone could build reliable automation around open source tools and provide it for free? I thought it was going to be. But i was happily proved wrong.
What one developer has achieved with FFAStrans is astonishing! Here are just a few headlining features:
- Multiple simultaneous workflows with different configurations, each run in separate processes
- Easy to use graphical interface for creating complex workflows
- Advanced decision making node to dynamically alter your workflow
- Extensive set of file, media and system variables
- Send e-mail notification with dynamic content based on variables
- Create custom user variables and statics
- Generate any kind of text file populated and altered with variables
- Configure FFAStrans to read and QuickTime reference files
- Insert video or stills images
- Convert images into video
- Encode broadcast formats like XDCAM-HD, AVC-Intra and DNxHD
- Monitor local and UNC paths, FTP, Panasonic P2 and Canon-XF structures.
- Create custom FFMpeg based encoder profile.
- Overlay watermark and transparent video
- Preserve timecode throughout transcoding
- Add superimposed timecode just like real broadcast VTR’s
- Insert custom AviSynth script
- Execute any dos command from within workflow
- Set up transcoding farms for distributed files transcoding
- 100% portable, no installation
By using the variables option within FFAStrans we were able to design and implement a small subset of workflows that would be able to push the inbound asset through a pre-defined processing route based on the automated header analysis to determine attributes such as resolution and scan type.
As a lot of the martial arts content that will be going on to the platform is not English language there was the requirement that there would also need to be workflows in place for, not only burning subtitles into the deliverable, but also the ability to QC inbound subtitles against the mezzanine and re-time if necessary.
Although having written a specification for executable subtitle delivery from supplies it would no doubt be the case that they would sent whichever format they have sitting on the shelf, so we needed to put in a process that could have the gajillion varieties of subtitle formats that are out there. It was recommended to use Telestream’s Switch for general mezzanine QC, and to get at least the plus license to also allow for the loading of sidecar subtitle files (such as CEA 608/708, SCC, DVB, TTML (iTT and SMPTE-TT),WebVTT, SRT and EBU-STL). As work to re-time any subtitles delivered out of sync we went with implementing another great opensource application called SubtitleEdit.
There are a couple of different ways to burn in subtitles using FFMPEG, the first using an srt as input. This limits the options for text formatting on the output, so we decided to go with the second option of using ass (advanced sub station alpha) inputs instead. Ass has a “header” above the subtitle content that allows for rich text formatting options such as font, size, colour, outline, drop shadow and blocked back ground. Instead of having an operator manually setup the formatting for the ass files every time via SubtitleEdit, for ease, they were to save out an srt for storing along with their mezzanine file. The ass that would be used for the burn in processed was auto generated, with the relevant header formatting information, automatically during the encoding workflow. This is achieved by a custom executable that we developed to carry out the conversion. The ass is then auto purged at the end of the encoding job.
After implementing the workflows training was also given to operators on how to use the systems and carry out encoding tasks. Even after the deployment was complete we now provide on going support via our customer facing support portal.
The portal not only gives a simple place for operators to interact with our support engineers when they are having issues, but it also offers a certain level of self service.
Through us making available documentation of the deployed workflows and offering answers to frequently asked questions, operators maybe able to find what they are looking for without needing to contact us at all. This is all made possible via their knowledge base once logged into the portal.