Magic Bullet Effects for FCP HD

I am just about to finish another project and after I am done, I plan to change up how I shoot and edit future projects. Very soon I will be bothering everyone about shooting in 24P and editing on my laptop, etc.

But for now, I have a question about effects.

I am considering an effects package for Final Cut Pro HD. I am not shooting in HD yet, but that is the FCP program I have. I know you can purchase 'magic bullet' packages or what have you for your NLE system. What should I be looking for, should I go all out or just get a basic package? By that I mean does anyone know the differences in the packages?

I would really like to expand what I can do, so any information would be great...

-- spinner :cool:
 
Are you looking to do effects (compositing, etc) or color correction? Final Cut isn't particularly meant for effects work. Although there are some tools, like Conduit, that allow it. My favorite quote in that regard comes from Stu Maschwitz, "Conduit has always allowed you to do nodal compositing in Final Cut and Motion, which to me was like allowing you to do brain surgery in a bumper car."

Ultimately it depends on what you're going to be doing, but I would suggest looking into something like After Effects, Nuke, Fusion... you could talk to knightly about Shake and Motion, I know he's been working with those for a bit.

At any rate, the NLE is not the place to do effects. Ideally, you shouldn't really do anything other that cutting together the footage and save everything else (titles, transitions, etc) for a compositing package, but that's being a little anal about the whole process I suppose.
 
Thanks, Will.

I remember the first thing that I ever did on Final Cut. A friend and I were just looking over some of the effects that we were able to do, even though we didn't have the need for them at the time. When I got my version of FCP, all of those were gone.

I don't expect to go too deep into effects, but if I can make some of these band performances look alittle cooler, I would like to do that even if it is just documentary work....knightly is a good resource....


-- spinner :cool:
 
A friend of mine is an editor and some times he lets me assist. For a movie like STEEP we barely used any effects but relied heavily on the HD footage its self and the fact we shot at over a 100 frames a second. Thats why the film looked so good in HD. On the other hand he also did this low budget slasher film called Wrestlemaniac. Its funny because I heard the premise of the script, a bunch of porn stars being killed by mexican wrestlers. I thought the film was going to bad. The key was that they used a lot special effects and focused the cuts on the best parts of the film.

So when it comes to Magic Bullet I say by the version that best suites your projects
 
What I was thinking was to find something that would give me maybe star filters, something that would make the footage look as though it were drawn, something that would make footage look negative, that sort of thing.

Since I don't have access to anything too high tech, I figure if you use certain things sparingly and simply, it won't look as though "somebody just got a new toy". Notice I said 'star filter' not 'star wipe', I hate star wipes...

Maybe I should get something other than a plug-in. I don't know. I would really like some suggestions now that I will have alittle free time, a few weeks...


-- spinner :cool:
 
It sounds like you need something for compositing (like After Effects or Shake)...

It's still in need of significant development, and is probably a little bit buggy, but I've heard good things about Jahshaka. It's open source (so free as in free beer) and cross platform (so it works on Windows, Mac, etc)..

Might be worth a look, especially if you have some time to play with a new toy. ;)

http://www.jahshaka.org

EDIT: They're reworking their website at the moment, and the download is tough to find. Here's some download links:

Mac (intel/PPC)
Windows


As for the star filter, you could just get a real one and use it on the camera.. Otherwise you might be able to fake it by making up the star shape in photoshop and adding that over your video. Use keyframes to move the star(s) around so they stay attached to lights or highlights in the shot, and play with the transfer mode of that video layer to get the desired effect.
 
Last edited:
The mac version is still a bit wonky and the workflow is weird, but hey, it's free. It seems like it is powerful.
 
Did you get Final Cut Pro or Final Cut Studio or Final Cut Studio 2?

If you got Final Cut Studio, then you've already got a copy of Motion. If you've got Final Cut Studio 2 you've got both "Motion" and "Color"

Motion is a superb package which comes with lot of high quality effects built in. Plus it's got a much easier learning curve than After Effects and it's a great compositing environment.

"Color" is the Apple version of Magic Bullet "Looks" (see below).

When it comes to effects plugins, there are literally thousands of different packages and Magic Bullet is just one amongst many.

If you've only got Final Cut Pro, I'd invest in Colorista or Looks. You'll probably find that most of the image manipulation you have in mind you can achieve with Looks.

Colorista is a great colour corrector, which is much more adaptive than the built in 3 way and has the advantage of being incredibly cheap.
 
I have Final Cut Pro, upgraded to FCP HD 4.5.

I was trying to figure out where to look for the motion application, I looked in applications....but I have to get ready for work right now. I'll check back later...


-- spinner :cool:
 
On the technical side, Motion and FCP both have the same built in limitation when it comes to compositing ... they use premultiplied alpha for their effects that affect the alpha channel. To understand what happens to your color information with premultiplied alpha, follow this simple example;

Original Color (8bit,RGB): 237,27,203
Add an effect that creates an alpha channel and the alpha on this pixel comes out at 80 (or about 1/3 opaque)
The color is then premultiplied by the effect plug-in so the new color value is 74,8,64
The next filter must un-premultiply the alpha to know what the original color was
The un-premultiplied color is 236,26,204, due to precision losses.

This may not seem bad, but start accumulating losses across multiple filters and you could end up with some noticable color degradation.

Maybe I'm just cranky, after spending the past 4 days coding on an FxPlug filter! However, a good compositing tool won't premultiply alpha until the final step. Maybe a better example would be one in which the alpha value was very low. At the extreme, when the alpha is zero, all color data is lost (RGB value for any color becomes 0,0,0) and it cannot be recovered. The assumption is that it won't be needed if it is transparent, but that assumption falls through in complex compositing pipelines.

Non technical people might be asking, "do I care?". Well, you may or may not care. If you think you might care, go into your sequence settings and tell FCP to render everything in high precision, 32bit YUV. You'll pay for it, but the losses won't be bad until you reach very low alpha values. If you're only ever applying one or two filters to any given clip, this is not going to be a huge problem. However, considering that most serious post people want to start with 10 bits/color channel of precision, starting with 8 and losing some is simply unacceptable.

I do have a work around for people who are doing simple color correction in FCP and still want to add an alpha channel (for green screen work, etc.). The trick is to use a traveling matte. I built support into VKey2 for generating a gray-scale alpha representation that you can use for a traveling matte to keep the alpha channel separate from your color clip.

I know, I know, I need to write a version of VKey2 for Shake. It's coming soon enough, now that I've built full 32-bit support into the FxPlug version, it won't be difficult to port that code over to a more serious compositing system.
 
Thanks for the technical info Doug, much appreciated.

I thought Motion was a 16 bit environment, and therefore less prone to loss... I must spend more time reading manuals.
 
The options for an FxPlug (FCP/Motion/FCE) for input/output are 8bit RGB+A, 8bit YUV+A, and 32bit YUV+A. I haven't checked to see if Motion uses the 32bit YUV. It would be great if it did, and that would go a long way towards improving accuracy. However, if alpha is set to zero, all pixel values will be 0.0, even in 32 bit floating point, which means no matter how you try, you won't get the color information back.

Having said that, Motion allows you to group your layers, so you could, if you were aware of how all of this works, avoid applying any sort of color correction after alpha computations. That's the point of using a traveling matte in FCP, which forces FCP to apply all of your color correction, then apply the alpha at the time of compositing. Otherwise, you must chroma-key before color correction (to avoid messing up your background color), then apply color correction to a possibly lower color quality image (only in the partial alpha regions, though).

Let me just add, this is not a huge deal. For most work, I doubt you could detect the difference. However, when these tiny losses are accumulated, it can make a noticeable difference, as I'm sure you know, if you understand the need for 16 bits/color channel.

Apple hasn't really documented these things well, so my information comes from diagnostic output from my own plug-in code. As I the mystery unravels, I'll be annotating as much of this as possible for the documentation that I'm going to bundle with my new vector keyer. All of this is subject to change, as my understanding solidifies.

Finally, I do basic compositing in FCP and Motion, and I really don't have any problem with the results. The only serious snafu I've encountered is in exporting something with partial transparency and special compositing modes from Motion into FCP. Since the alpha must be premultiplied in the source application, you can get some strange results in certain compositing modes. I don't remember the specific settings, but I was applying some title effects and got some really bad sh*t, so I had to go back and do the final composite in Motion (exported bottom layer from FCP as movie and added it to Motion project).

Personally, I think you can do just about anything, as long as you understand how it all works and what it's doing to you. That is what I'm figuring out, now!
 
Doug, this is ALL VERY, VERY useful.

Technically I struggling a little bit. Can you recommend some good basic reading on the relationships between alpha, colour modes and bits?

I'm not completely clueless about this... but it's an area I really need to understand so I can make good work-flows for composite heavy production. Just to put some context on this, I'm developing a guerilla approach to CGI and am combining 3D animation with live action... and I'm also doing some more conceptual VJ work, where there can be anything between fifteen or twenty effects layers applied to PAL SD.

As you can see, I really need to get my head around this. Any help understanding, would be much appreciated.

LATER:

So, I decided to go and have a look at the variables and you can either work in the standard 8bit, or a custom floating 16 bit, or a custom floating 32 bit. So, tomorrow I'm going to set up a custom template to a floating 32 bit.

There is also the option of exporting as a "Lossless Movie + Alpha" using the Apple animation codec -- any thoughts on that?

I'm going to try it anyway.
 
Last edited:
So, I decided to go and have a look at the variables and you can either work in the standard 8bit, or a custom floating 16 bit, or a custom floating 32 bit. So, tomorrow I'm going to set up a custom template to a floating 32 bit.
Did you find these settings in Motion? I took a quick look around and didn't find anything under preferences. Maybe it's in project settings? From what I've seen so far, Motion is only doing 8 bit RGB.

Although there are other ways to handle alpha compositing, the world seems to have settled in 2 camps; non-premultiplied, in which case the image stores full color information plus a channel for an alpha (opacity) value. The color information stays the same, regardless of alpha value.
The 2nd camp is premultiplied [black] alpha. The alpha value is still stored in it's own channel representing opacity, but the color values are altered according the the alpha value using a formula like the following ...

for 8bit color and alpha channels (range 0-255); premultiplied_color=(color * alpha)/255; Essentially, this darkens the color as alpha moves towards zero. When alpha is zero, the premultiplied value will always be zero (black). This makes for faster compositing, because the graphics engine (most often the GPU) simply adds the color values and divides by 2. You could say the alpha is computed into the color channels, reducing computational complexity for display and also cutting down on the amount of information that needs to be sent to the GPU (alpha channel can be discarded).

When generating graphics in a CG tool, you generally have the option of outputting premultiplied (black/white) alpha, or non-premultiplied alpha. I can't think of a case when you'd want premultiplied over white, but that is sort of like the opposite of premult-black. AFAIK it's not used in any or the tools we generally use. If you are taking your animation into After Effects, you want non-premultiplied alpha, but for FCP or Motion, premultiplied is what works best. I believe you can tell FCP that you have straight alpha (non premultiplied), and it will do the premultiplication for you, but you want to specify that in the alpha type under the modify menu.

Essentially, the losses aren't that great until you get closer to transparent, but they are always there. If you started with 3, divide by 2 and round the result, then multiply by 2, you'll never get back to 3. You'll end up with either 2 or 4 depending on which way you rounded the result. Using 16 bit values, you can afford some losses, because in the end, you're going to round everything off to an 8bit value, anyway. Using 32bit floating point, it would only be a problem when you get very close to zero alpha. Of course, at zero alpha, you won't see anything anyway.

Here is where it gets you ....
Let's just say you decide to add a garbage matte to your chroma-key shot and feather the edges of the matte. You've just created a range of alpha values where the edge is feathered.
Now you add your chroma key filter which is reliant on color information for producing a key. At the fringes of your feathered matte, the color information has been all but obliterated by premultiplication with low alpha values. Those areas probably won't key out, because the chroma keyer will seem them as dark and lacking in color. So, you end up with a halo that tracks along the edges of your garbage matte. The simple solution would be to garbage matte after the chroma-key, but you may not know to do that, if you didn't understand where that stupid halo was coming from.

Here is another real-world case that forced me to add a feature to my vector keyer that I originally wanted to add as a separate plug-in. I created a shadow isolation tool that would pick out the shadows that fall in the transparent part of your chroma-key shot. i.e. the shadows that fall on the green screen. This allows me to create a shadow mask that you can apply to your new background so it looks like your subject is casting it's shadow on the new background, and you can adjust the shadow density, etc. I had the thing written, when I realized that the place where I needed to find shadows and do calculations had no color information whatsoever, because the keyer had premultiplied the entire region to black. So, I put the shadow generator in the keyer so it could work between the alpha calculation and premultiplication steps to find the shadows that would be removed by the keyer.

I'm sure in a compositing environment like Shake or AE, there are many tools that need color information from transparent regions for similar functions. So maybe the issue is more of a limitation as to what tools you can get for FCP rather than color quality in a typical workflow. Either way, I hate premult alpha, because it adds steps to the keying process and potentially discards useful color information before you are finished with it!

If you ever see unnaturally bright edges on something that has a feathered alpha channel, it is probably because the compositor expects premult alpha when the image is straight alpha. The regions that are 100% transparent or 100% opaque are fine, but everything in between (usually along the edges of an opaque area) will appear brighter than it should.

Doug
 
Thanks Doug, that's exactly the information I needed.

The 16 and 32 bit float options in Motion are found in the project setting presets. When you start a new project it defaults to which ever preset you set up... but you have the option of selecting a different preset from the list. One of the presets is "custom" and in the custom option you have the chance to change to either a floating 16bit or 32 bit.

In the same panel there is also a choice of export settings... the "lossless + alpha" is a choice in that menu.
 
This is all very interesting, but I think it may be past what I was thinking...

When I did my first project about 5 years ago, I used Final Cut to edit it. There were I number of effects that seemed to be built into the program. I remember one was called 'flicker', another was called 'line drawing'. There was also something that would give me the 'old film' look, that I did find here, but I didn't like the result. Anyway, I don't seem to have those effects in my system, so I assumed that maybe it was a simple plug-in. The effects were not anything like After Effects, they were just simple drag and drop effects.

I don't know how far into effects my docs can go, but I would like to be able to at least explore what I can do...

-- spinner :cool:
 
Thanks for that information, Clive. I'll be including that in the documentation I'm writing for my VKey2 update. As far as exporting goes, I'm not sure if the Animation codec supports more than 8 bits/color + alpha, and it's definitely an RGB codec whereas your video is in YUV, so colorspace conversion would been required. You may be better off with one of the ProRes formats that uses YUV @ 10 bits/color (as I recall) and has a lossless option, also. The disadvantage with ProRes (again, recalling from memory) is that it is a YUV (no alpha) format. If you wanted to store alpha, you'd have to do it separately.
 
No problem Doug, my pleasure. We all win when we share what we know, everybody discovers something different when they play with software... as my current obsession is developing work flows for my weird CGI experiment and Motion was new to me, I was spending a lot of time noodling around with settings.

I'll check out the ProRez options.

Is the Vkey available for Motion? It's my standard tool in FCP, but I'd like to be able to use it in Motion as well.
 
The version I'm working on now is an FxPlug, and yes, it's available for Motion. You'll be getting a free upgrade when it's finished. I've added a couple of new features and now I'm working on rewriting sections to make better use of the AltiVec (PPC) and SSE3 (Intel) parallel processing extensions to cut render times. The only bug I have left to fix is a cosmetic Motion bug that results in a distorted thumbnail image. Otherwise, it's fully functional, and you are welcome to a pre-release copy. I should have the optimized code ready in a week, then I've got a lot of documentation to write, because it's similar to the QT version, but different in many ways. Also, it has 3 supported pipelines (8 bit RGB, 8 bit YUV, and 32 bit YUV), so I need to document it's capabilities and how to make optimal use of them in FCP and Motion. It will probably take me a few days (or more) just to write the documentation.

Spinner, sorry for hijacking your thread.

Doug
 
Back
Top