October 2008

Levels (whom his friends call Change Range)

The Levels node in Conduit is basically equivalent to the Levels adjustment in Photoshop, so it’s easy to think of it as an image operation foremost. Yet Levels actually performs a very general-purpose math operation that can come in handy in many situations.

Consider an effect that takes a value from the user using the Slider node. The slider’s value is usually in the range 0 to 1 (what is often called the “standard range” in Conduit because it’s the range for visible pixel values). What if we want this slider to drive a value that needs a larger range — for example, a 2D Transform node? If we want to use this slider to move the image up to 100 pixels in either direction, we’ll need to change the slider’s input value’s range from [0, 1] to [-100, 100].

This could of course be accomplished by using a few basic math nodes:

Nodes screenshot

But that looks rather unweildy for such a simple operation… So let’s use Levels instead:

Nodes screenshot

See what happens in Levels? Input black and input white specify the original range (in this case, 0 to 1). Output black and output white specify the output range. This performs exactly the same math as the Multiply+Subtract nodes in the first screenshot.

Don’t forget that the Clip to 0-1 setting is enabled by default when a Levels node is created, so you need to uncheck that box. (If you don’t, Levels will clip all negative values to zero and all >1 values to one.)

Conduit
General

Comments (0)

Permalink

SDI output on the cheap

The Mini Converters by BlackMagic Design have been around for a few months, but I don’t think I’ve written about them before. BlackMagic is the company behind the popular DeckLink capture boards which are a very good option if you need to get an SDI signal into Conduit Live affordably. Their new HDMI->SDI mini converters seems to be a nice solution for the other end of the computer’s video pipeline.

Until now DVI->SDI converters have cost something in the range of several thousand USD, making them out of reach for many people building a Conduit Live setup on a budget. BlackMagic’s converter box is only $495. Unless your video card has HDMI output, you’ll need a DVI->HDMI converter on top of that, but luckily that’s a very common piece of electronics you can buy in any computer store (DVI and HDMI are designed to be compatible without expensive signal conversion acrobatics).

Caveat lector: I haven’t tried the BlackMagic box myself. But if you do, I’d be intrigued to hear whether it’s as good as it seems!

Conduit
Conduit Live

Comments (0)

Permalink

Raw vs. rendered capture (and how to efficiently deal with raw)

As you may know from having read the Conduit Live manual (page 13 onwards), Conduit Live supports two capture modes: “raw” and “rendered”. Superficially they both do the same thing: both end up writing a QuickTime movie to disk, after all. But that’s pretty much where the similarity ends, in terms of implementation and performance.

In this post I’d like to explain in some more depth why exactly “rendered capture” is so much more performance-intensive. I’m also going to show the alternative: how to capture raw and render the final result from Conduit Live, without switching apps and with a reasonable overhead.

An essential part of Conduit Live’s capture performance is the involvement of QuickTime. As I wrote in my previous post, QuickTime is not just a media player, but a sprawling API that aims to provide a solution to all your media processing needs. Of course it’s impossible to satisfy everyone, but there are a lot of things that QuickTime does really well (partly because it’s been around for so long that its implementation has matured).

One of those things is that it handles the entire process of writing a captured video stream to disk as a .mov file. As long as Conduit Live doesn’t need to touch the video data, it can rely on QuickTime to do the disk writing in the background while Conduit Live receives a copy of the video data for its own display needs – it’s efficient multitasking. Here’s an illustration of the process:

Conduit Live raw capture mode illustration

So that’s for the “raw capture” mode. For “rendered capture”, we can’t rely on QuickTime on handling the diskbound video data behind the scenes anymore. Instead we need to have a compression connection and keep feeding the .mov file ourselves. To further complicate matters, the rendered image resides on the GPU, so before it can be compressed and written to disk, it needs to be pulled back to main memory. Here’s the illustration — comparing with the previous image, it’s easy to see why this mode introduces more performance bottlenecks:

Conduit Live rendered capture mode illustration

Because the image needs to be recompressed, you must choose the QuickTime compression settings before capture can proceed. This is why Conduit Live pops up the QuickTime settings dialog when starting rendered capture, if you haven’t yet specified any compression settings. (A lot of QuickTime codecs are not suitable for this kind of realtime compression – please see manual page 14 for more information and some suggestions of codecs to use.)

So if rendered capture turns out to be too heavy, what can you do? One solution is to consider the whole pipeline: usually you’re going to want to edit the footage anyway; maybe add some graphics and so on. Wouldn’t it be nice to retain the ability to finetune the effect you made in Conduit later, instead of setting it in stone while capturing?

The Conduit plugins make this possible. When editing in Final Cut Pro, import the footage you captured in Conduit Live and then use the Conduit filter to apply the effect(s) used during capture. The Conduit filter offers the same node-based user interface as Conduit Live, so you can tweak everything at this stage before exporting the final result from FCP. (Conduit also works in Apple Motion and Adobe After Effects.)

If you don’t need to edit but would like to quickly render out the composited result, you can do it easily inside Conduit Live. Here’s how…

When you’re finished capturing, go to the Control Panel and switch the Source image input from “Live video” to “Image/movie”. Load the video file that you just captured:

Now you’ve got the freshly captured video in Conduit Live in timeline mode, so you can play it with the effect applied, go over the video frame by frame, mark In/Out points to trim it, etc. (If timeline mode doesn’t ring a bell, please read “Working with images” on page 4 in the manual!)

When you’re ready, just export the composite to a QuickTime movie. Conduit Live should render pretty fast, so hopefully this workflow can be practical even in high-pressure environments. If you disagree, I’d love to hear your insights!

Conduit
Conduit Live

Comments (1)

Permalink