RVIO in a daily use

loocas | Python,RV,software,technical | Tuesday, November 1st, 2011


Every TD knows that command line tools are among the most powerful in their arsenal of tricks and secrets.

I want to mention RVIO, as today it saved me quite a lot of time (again), which is absolutely key when a deadline is coming.

My client requested a minor tweak of animation (a lip sync, to be concrete) on an almost finished shot. So, the general approach would be to do the change, have the animation data go through the pipeline and at the end have the finished frames ready to be loaded in an existing edit, which then gets rendered out and the final result gets showed to the client.

All fine, until you realize your render farm is completely full with other shots, so you have to skip the “beauty” pass rendering and only present the client with a, somehow, polished preview directly from your 3D package, which isn’t the safest way, trust me. But this client is great and understands that what he sees is actually only a preview of the animation.

So, the last piece of puzzle to solve is to get the preview assembled with additional layers of information (such as frame number, shot name etc…), basically a slightly customized overlay. All this sounds nice and simple, you just open up (in my case) Premiere Pro, swap the layers, render out the portion you need and be done with it.

But this certainly isn’t the TD way. ;)

Fortunately for me, I’d purchased a license of RVIO some time ago, so I have an extremely powerful and versatile tool in my arsenal of VFX software that just gets the job done, no matter what.

The problem with the Premiere Pro approach, actually, there are two problems: 1) my lazyness and 2) the time it actually takes to get it done. Besides, this way you are also exposing your project to errors. You might accidently save the project and when you least need it, it’ll jump back at you and you’ll have to be dealing with this fuck-up in the least desirable time – the minute before the deadline.

So, the easiest approach for such a trivial task would be something that allows you to combine an image sequence with your sound file and spits out a movie file with the correct size, color, the whole package, basically.

RVIO is such a tool and it is aimed at TDs and people who aren’t afraid of using the command line (which you certainly should NOT be as it is the most powerful, fastest and actually easiest way of getting things done, even in 2011). It allows for both simple and extremely complex image, movie and sound file conversions. See the RVIO site for more info on that.

So, what is the concrete example I’m talking about? Something as simple as delivering a correct file and presenting it properly to the client can be a complex process in a large pipeline. In my case, as I’m a fairly small boutique, what I needed to do was to take an image sequence of the fixed animation, place it in an existing timeline (effectively replacing the previous, fully rendered, version), setting up markers for in-out points, setting up the export settings, correct file name, correct video and audio codecs, correct output size etc… Then have it exported, review the file, upload it to our server and present the link to our proprietary review site for clients to the client.

This entire process isn’t too difficult to manage in five to ten minutes, but presents a bit of a security threat that I mentioned above and also isn’t very flexible or comfortable. Sure, for people that can only deal with their software via nice and polished user interfaces, this is the only way to get the job done, but for a TD, there is a much smarter, faster and cooler way. :)

Here come the super-powers of RVIO. It’s strictly a command line tool. But to perform all (and many more!) tasks that I just mentioned, all you need is this line of code:

rvio [ "inputFrameSequence_12-125#.tif" "inputSoundFile.wav" ] -codec avc1
-outkeyinterval 20 -outdatarate 1000000 -outgamma 0.85 -outres 1024 576
-audiocodec aac -o "outputMovieFile.mp4"

That’s it! See how awesomely simple, fast, effective and cool this is?! :)

Now, this was just a command line command you execute directly and you get a outputMovieFile.mp4 in the correct format, the correct in and out of the animation, correct sound and everything between. However, imagine what you can do with this! If you know Python, or on Windows, preferrably, IronPython, you can do WONDERS!

I’ve tied RVIO with Shotgun via IronPython so that I can do very easily, effectively and super fast deliveries to our client on a project with about 120+ shots. It’s not a huge project, though, but the sheer number of shots definitely calls for scripting. There is no way I’d be sitting at 4am at the computer and manually editing and converting 120+ shots to a desired format for review whenever there is a change in the animation or compositing! That’d be a suicide and a complete waste of resources.

What I did was calling a loop on all the shot folders where our final comp files were being stored, picked the rendered files and fed them to RVIO with a few parameters set specifically for that project, similar to what I just showed you above, pulling a few variables from Shotgun, such as in and out cuts, shot name and other data. Then it automatically takes the resulting movie files and uploads them to our review system via FTP. That was it! With about fifty lines of code I achieved a task that’d take me at least three hours of intensive file hassling and messing around! All of this then takes about ten minutes to process, which is perfect for a coffee break. :)

Besides, it’s recycable, in a sense that when there is something changed in any of the shots and we need to re-deliver, I just run the script again.

This is what I love about my work! The effectivity, productivity and the cool factor, of course. :)


  1. It gets the chicks that’s for sure ;)
    How fast does RVIO convert? We use a homebrewn tool with ffmpg at it’s base. Would you reckon rendering time is slower/same/faster? I feel RVIO supports more formats/codecs too, it’s an interesting tool for sure!

    Comment by Johan — November 2, 2011 @ 00:00

  2. RVIO is reasonably fast. I’d say it’s a bit slower than a regular mastering tool I also use, ProCoder, but that’s pure speculation based on subjective “feel”. I’ve never timed it actually and don’t really indend to. I’ve been able to master about 120 shots in ten to fifteen minutes by simply running a few RVIO instances in separate threads at once. :) If you have the power, the converting speed means nothing. I highly recommend it, though. It’s extremely flexible and super heavy-duty proof.

    Comment by loocas — November 2, 2011 @ 00:03

  3. Good stuff! Thanks for that, we’ll definitely take a look,

    Comment by Johan — November 2, 2011 @ 23:02

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress | Theme by Roy Tanck