Jump to main content Jump to top menu
Search Ots Labs

Ots Labs

Codecs, Transcoding & FFmpeg

As of Ots Studio version 1.02.001 and OtsAV version 1.94.027, Ots Labs is proud to announce the following codecs are now supported as first-class citizens: VP9 and VP8 video, and Opus and Vorbis audio, as used in the WebM media container format from Google (and used extensively for YouTube).

You can now natively import .WebM files, as well as .Ogg Vorbis and .Opus audio files to Ots files without any loss of quality, and the file sizes will even be slightly smaller than the originals and offer all the benefits of Ots you've come to love and expect such as full and fast seeking support, time-scaling, reverse-play and scratching, non-destructive editing in Ots Studio, etc. It's now easy and efficient to encode/store HD video within Ots files at high quality while keeping file sizes very reasonable.

This means you can now store a music video that typically would have required at least around 200 MB in as little as 40 MB—that's one-fifth—for the same visual quality!

VP9 is a state-of-the-art codec that has gained considerable popularity in recent times and is supported directly (within the WebM container) in most web browsers today. It is also increasingly used for content delivery and is built into modern smart TVs, such as all recent models from LG and Samsung, among others. A group has formed between major industry players, known as the Alliance for Open Media (AOM), who are working on the next-generation codec beyond VP9—AV1. The group consists of companies such as Google, Microsoft, Netflix, nVidia, Adobe, Intel, Cisco, Mozilla and many others. With our first-class support for WebM and VP9, we are ready and in a great position to provide early support for AV1 once it reaches a practical level of maturity.

For most immediate coding needs, we highly recommend VP9 (in combination with the brilliant Opus audio codec). VP9 has fairly recently attained a stable and mature status in combination with massive performance gains in encoding and decoding speeds. What not so long ago used to require a day or so of encoding time, a typical song in HD now only takes around 15 minutes on modern hardware. File sizes are impressively small while quality is preserved. Importantly for our many customers from widely disparate industries, the codec is freely available and does not carry the implementation and stream-based royalties seen with the roughly-equivalent newer MPEG-based formats.

Ots supports native import of the full WebM specification, meaning VP9/Opus, the earlier VP8/Vorbis, or any combination thereof. In a future release of Ots Studio, we will switch the CD import functionality to encode using Opus audio by default. We will also provide comprehensive encoding parameters and settings control. As things stand today with this first version supporting the new codecs, you can either create WebM (or Ogg Vorbis/Opus) files using your choice of external tools and settings and then convert the subsequent WebM files directly to Ots files (without any loss of quality and greatly increased performance and functionality), or you can use our new feature in Ots Studio that creates Ots files directly (with no effort on your behalf) from virtually any source media by using FFmpeg to transcode to VP9/Opus using default optimal settings for OtsAV—detailed in Batch Converter section below.

Try It Now Yourself!

If you're in a hurry and just want to try out a file in the new version of OtsAV (trial version or licensed) that is using the new codecs, then we have something for you. Honestly, you really should just import your own files—even just MP4 files you have laying around, if they're of reasonable quality—it's easy to import/convert in the new Ots Studio. But for those that just can't wait, here's an Ots file you can download right now and play in version 1.94 (be sure to set "Video -> Internal Resolution" to 720p to obtain the best quality results, assuming your machine is up to the task):

Keylas - Eyes On You [Axidant Reboot].ots
© 2010 Oscar Lindstein Music - used with permission

This file was encoded from an 8 Mb/s 1080p MP4 H.264/AVC source using the default settings in the new version of Ots Studio, which was using FFmpeg to do the actual transcoding. No special settings and nothing altered. The resultant VP9 stream is around 1.25 Mb/s—the total combined bit rate well under 1.5 Mb/s with accompanying high quality Opus audio.

720p? 1080p? 4K? 8K? : A Timely Reminder About Playout Systems vs Players

(This section contributed by founder, Adam Ots)

Undoubtedly we increasingly live in a world of rapid change, with sometimes a little hype along the way. 3DTV?!! Okay, I'm not saying that these things are not great and may not one day become ubiquitous (I actually really enjoy a well produced 3D flick). But in the industries the majority of our customers are placed, it's important—I think—to sometimes stop and assess the real situation without the hype!

There's no doubt that HD video has over the last decade or so transformed to become something that is increasingly expected rather than a mere luxury for those willing to experiment on the cutting edge. Go back about, what—5 years?—and it wasn't even a given that music videos were produced or at least released in HD. That's certainly changed dramatically. And it's great! But before we all are swept up with the marketing monikers of increasing numbers—4K, 8K!—it's good to stop and think about things from a practical standpoint.

Unlike audio quality, which is possible fairly trivially with today's technology and seemingly abundant processing power (this was absolutely not the case when I began working on Ots in the mid 90s!) to preserve in full human perception terms, there's no question that video resolutions, frame rates, color gamuts, dynamic range, and so on, still have a way to go before we can truly say that the extent of what our eyes and brains can process is fully covered. To that end, innovations such as "4K" are not going to go away. And why should they? 4K looks truly jaw-droppingly awesome on my obscenely sized (well, maybe not) OLED panel fed from the walled garden of Netflix, or Amazon Prime Video, or whatever. But does that mean I should expect, no less demand, that my playout systems do the same?

A player, in whatever form, "only" has to read, decode and present each frame in sequence—ideally without any glitches, dropped frames, and so on. For a high resolution like UHD 4K, that's still a lot of data that is being shuffled every second, but you can't escape the fact that whichever resolution you choose to make comparisons against, a full-featured realtime playout system like OtsAV is having to process/shuffle around 10 to 20x as much data/pixels. Once you consider all the factors at each layer—two streams/decks instead of one, 60 fps instead of typically 24, timescaling/pitching/other speedups instead of regular play, additional buffering so instant transport controls (eg. scratching) may be used and be highly responsive, composition/embellishments to maintain and prettify correct aspect ratio presentation, smooth interpolation of new frames to handle non-matched frame rates (ie. standards conversion), and I could go on—it becomes obvious why it's completely unrealistic, crazy even, to compare the systems and their goals/purposes.

It's actually amazing that in OtsAV—with all it's doing—720p is quite obtainable these days with even relatively aged hardware. 1080p (throughout the entire pipeline including all processing) is something that we've had working internally since 2007 and the only thing preventing it is that we have purposely blocked it for the above reasons! The hardware required was too much of a stretch to get Ots-level-of-quality results in typical cases. Sure, if you limit yourself to never playing 50/60 fps source material, never speeding up a deck beyond a few percent, never using the more advanced transitions, disabling aspect ratio embellishments, and so on—oh, and definitely have a decent cooling system!—then 1080p becomes more doable. But hey, now we're wandering away from what a playout system—specifically the OtsAV playout system—is. Bottom line is you can never compare Ots to say, VLC. The latter is awesome as a general player that you can just throw anything at and (hopefully) get a somewhat intelligible result out of. But it's horses for courses and it's certainly not Ots. And if you could reasonably compare the two, we perhaps wouldn't have a business!

On a serious note, we have announced to our solution provider (SP) network that we plan to enable 1080p fairly imminently. We have also advised that we don't recommend its use for the vast majority of scenarios. But of course there will be exceptions, people who are willing to burn cash on crazy hardware, or those that have very specific and controlled scenarios where 1080p makes sense and is entirely workable. And eventually, perhaps even quite soon—given inevitable hardware improvements—1080p will become the new 720p, even for a playout system like OtsAV. But steady-on, we're not quite there yet!

Let's also not forget that good, well-encoded 720p looks mighty fine and in the vast majority of cases would be indistinguishable from a higher resolution at the types of distances and screen sizes involved in a typical site setup where OtsAV is most commonly employed, whereas undoubtedly many of the other core benefits of Ots such as high refresh rate, stability, practical enhancements, etc, are observable—and make a difference to perception—at a far broader range of distances from the viewer.

And lest anyone write to our customer support with something along the lines of "What? 720p? My mother's grandmother's old Thinkpad from the last decade (you know—from before Lenovo bought them out from IBM) can play 1080p videos without a hitch. It may even do 4K, I dunno—haven't tried—but I reckon it would...", be prepared to be politely sent to this page!

We're at a golden age in the history of video (let's leave VR and other additional-sensory things out of this discussion). We haven't quite reached perfection, but we're so far advanced than we were for much of last century—stuck in SD-interlaced land—that it's good to sometimes stop and take stock of how far, and fast, things have progressed. True 1080p throughout-the-entire-pipeline is coming to Ots, and soon. Should you use it? Probably not... yet. And no doubt one day relatively soon in the scheme of things, OtsAV will happily chug out 4K too—all while idling most of each frame period waiting for you to interact with the playlist. But that day is not today! But we can all enjoy our Netflix UHD 4K HDR Rec.2020, right? Just don't anyone say the word.... 8K!

Converting Non-Native Media Types to Ots Media Files Using the Batch Converter

For media formats not NATIVELY handled for direct import to Ots Media files, a feature beginning in Ots Studio 1.2.1 allows you to import/convert them to Ots via on-the-fly transcoding using FFmpeg.

Once FFmpeg is installed to the correct location on your system, this feature is designed to be an easy and painless process—just import the files as you normally would a native file type, and you'll end up with Ots files. You should expect the process to be much slower as each file must be encoded to VP9 and/or Opus as an interim step (though the process is completely transparent).

The result, however, will be regular, native, Ots Media files that you can manipulate and use in exactly the same manner as all Ots files, including adjusting metadata, ACI and VCI properties, etc.

Note that if you require control over the specific encoding parameters, or need to perform preparatory actions on the source media such as de-interlacing, then you should do so separately using your own applications, scripts or processes and then convert the resulting "native" files to Ots. In other words, keep in mind this is a simple and easy function designed to cover the casual needs of most users (with little effort on their part), and not intended to handle complicated requirements or very specific scenarios.

TIP: If you place extensions normally handled natively by Ots (eg. webm, ogg, opus, mpg, wav, etc.) in the "Other:" text field and check the box, this will *force* these specific extensions to be transcoded via FFmpeg. Normally you do NOT want to do this as the (re-)encode is unnecessary, slow and loses quality, however, it can be useful in special cases such as for working around problematic/corrupt files or forcing wav files to be encoded with Opus rather than via Lame. (Also note that the "Other:" text field/check box setting will be honoured not just in the Batch Converter but also when importing via the "File -> Import -> Media Files..." menu option.)

To use this feature, you need to download FFmpeg binaries (we recommend the 64-bit STATIC edition) of version 3.3.1 or above and copy the contained "ffmpeg.exe" file to the "C:\OtsLabs\Plugins\encoder" folder (assumes standard installation path). Visit ffmpeg.org to obtain the package.