Creating Thumbnails Has Never Been Easier

One of the byproducts of my work on THAT Studio Panel extension for Premiere Pro and After Effects has been an After Effects script that would generate a massive amount of thumbnails for video files. The initial idea to use it to prepare Panel assets did get scrubbed along the way, and we never got to using it in our automated workflow, but I believe it was too valuable to go to waste. Therefore here it is – name any way that you want to generate frames from your After Effects compositions or video files, and Master Thumbnailer will do that for you.

see more

Adobe Premiere Pro and After Effects Plug-in Development Course on fxphd.com

sys204

I’m happy to announce, that this term I’m teaching plug-in development for Adobe Premiere Pro and Adobe After Effects on fxphd. I’ll be covering the basics of C/C++ and Adobe After Effects SDK in a bit more detail, as well as GPU acceleration for Premiere. All these will be illustrated with a simple vignette effect that we are going to create during the course with the students. Believe it or not, any similarities to the very first effect that I wrote are coincidental. see more

The Bane of UI Minimalism

ui-feature

I am appalled at some trends in the User Interface design these days. Touch screen devices became an entrenched market a couple years ago, and suddenly everyone and their mother decided to optimise the User Experience (UX) to take into account this new animal. Nothing bad about the general idea, but unfortunately in some cases the results seem to have been the apparent devolution of the UI design.

see more

Layer Stripper – It’s Not What You Think It Is

CI Layer Stripper

As I’m getting ready for this year’s NAB, I think it’s great time to release a new nifty tool for After Effects – CI Layer Stripper. This script deftly removes all unused layers from your project – the ones that are not visible, and not referenced by other layers as parents, track mattes, or even simple expressions. This will allow you to trim and collect these items in your project which are actually being used.

see more

Finally a Viable After Effects Archive Solution

Trim N Collect

While developing Conform Studio I stumbled upon an application of the CS Extract script which I considered interesting, but did not have enough time to code and test properly. It was only a matter of time when other people attempted to use the Studio in this manner, therefore I even included a note in the manual about it. see more

Nuke Studio For After Effects

conform-studio

When I first saw the demonstration of Nuke Studio shown on NAB, with each new feature I was thinking: yes, this is exactly as it should be done. This is precisely how Dynamic Link should work from the get go in Adobe applications. Congratulations to The Foundry for making it happen. I wish I could afford your tool :) see more

The Inevitable Convergence – Episode II

convergence2

In the aftermath of IBC 2013 I wrote about the inevitable convergence of various software packages. It was easy to see how various vendors began expanding their packages into areas beyond the primary intended roles. NAB 2014 confirms this ongoing trend, and breeds more and more interesting solutions at various price ranges.

Let’s quickly sum it up: BlackMagic Design gave Resolve a serious boost in the editing realm and collaboration, The Foundry announced Nuke Studio, bringing Hiero timeline into Nuke – or another way around, if you prefer – upping the VFX management expectations for everyone and aiming towards the on-line market. Autodesk enhanced real-time timeline capabilities in both Flame and Smoke, while Adobe is constantly tightening the interaction between its various applications to make them work seamlessly as one. The case can be made that Avid is also attempting to do precisely that, gathering all its offerings in Avid Everywhere platform mirroring Adobe Anywhere though with proxy workflow instead of real-time server rendering.

All in all, this expansion outside the primary areas suggests that the applications are mostly mature, the toolset required to fulfil the primary functions is pretty much there, and the software companies are aggressively attempting to widen the user base. This is the case especially with grading packages, where the competition is relatively intense, and the high-end segment stops being perceived as the only viable support. Witness Digital Vision licensing its precision control surface to SGO Mistika, and going software-only route with its Nucoda, dropping its price in a clear attempt to widen its reach.

Which breeds the question – is specialized software doomed to fail in the long run? Will the likes of Baselight eventually run off of the resources to sustain themselves? Certainly, there are some comfortable niches where individual applications do and will exist – Mocha for planar tracking and Silhouette for rotoscoping seem to be pretty good examples. But they thrive in the space where they have no competition, protected by patents or relative obscurity. It’s a very cozy place to be in, but there are not many like these. How will Nuke fare against Mamba FX, now that it has Mac version? How will Premiere, Avid and FCPX survive the BlackMagic incursion?

Today for pure editing still nothing beats dedicated NLEs. I bet it might be a year or two before somebody attempts to do a larger editing project in Nuke Studio or Resolve. But I can easily see how shorter forms might resort to these tools, especially to Resolve for its unbeatable price point and relative ease of use, and Nuke Studio will comfortably find its place in the VFX editorial and possibly finishing.

Lastly, there is the problem of feature bloat and discoverability. When software starts to expand into areas not envisioned from the moment of its conception, the risk of hitting a development wall is pretty huge, since the base code and the user interface was not optimized for these additional tasks, and the forays will most likely appear clumsy to the eyes of the users of specialized packages. Nuke will never be as good roto software as is Silhouette, and I highly doubt it will outclass After Effects in motion graphics.

Will the convergence happen though? Will there be enough overlap between Adobe Creative Cloud, Nuke Studio, Autodesk Flame, and daVinci Resolve that the choice will come down to user preference and – gosh – pricing? Not unless BlackMagic partners with SGO, Eyeon or takes over Toxik from Autodesk. If that happens, all bets are off.

As for now, we can happily choose any tool we deem appropriate for the job and out budgets.

Major improvements in Vignette and Power Window

matrices

Some of you have complained that my plugins sometimes take a lot of memory to run, and that they are not CUDA accelerated. Well, GPU acceleration will have to wait for a moment longer, but I have coded a few improvements to the Power Window and Vignette which will result in less usage of memory, and much quicker render times.

It used to be, that on the faster machines the CPU usage during rendering these plugins fell from 90% to 15-20%. I did not really know why. It was not multithreading – this is something that Premiere handles on its own. As it turned out, it was an issue of poor coding, and lack of knowledge.

I fixed that, and I also added clamp input black control to Power Window which should fix the problem with low blacks causing problems in gamma calculations, and added various alpha falloffs to the Vignette. The impatient ones may follow to the downloads page, and grab the newest versions. Those interested in details please read on.

Both Vignette and Power Window use the same part of code to calculate the position of the mask. Up until this release, these calculations were performed separately for the move, scale and rotation, for each pixel, for each frame. I was clever enough to calculate the sinuses and cosinuses at the effect setup, but it still turned out to be a significant number of calculations.

Those of you who know about matrices, affine transformations and homogeneous coordinates, have already most likely buried their faces in their hands, crying “why, oh why did you do this? Didn’t you know any better?” As it turns out, I didn’t. And I should have.

I’m a physics major. The knowledge and skills I gained during the studies are really helpful in many aspects of my life, including coding these plugins, and – of all things – understanding how camera sensors work. I used to learn algebra and matrices as far back as high school. And I was pretty decent in understanding them.

And yet, I missed the obvious: that I should have created a single transformation matrix for all the transformations, and apply them all in one go. And had I attended a course on computer graphics during my studies, I would most likely know, that the mathematicians have already came up with some nifty way to resolve my problems. As it was, I learned about the proper way to do this only recently, when I found strange 4D matrices for 3D transformations in Nuke. After doing some research on homogeneous coordinates, with a subtle push from my friend Wojtek Bagiński, I finally decided that I’m going to apply this knowledge to my plugins as well.

The result was far more dramatic, than I would have ever anticipated. Finally the plugins started to use 90-100% of CPU power, and the memory usage dropped down considerably.

Originally there were 11 multiplications, 3 divisions, 4 subtractions and 2 additions to calculate an ellipse. I changed it to 4 multiplications and 4 additions, so it’s a reduction by the factor of 3-4 with a few type conversions lost as well. And the end result is that, even though these plugins are not yet GPU accelerated, you can preview them in the real-time on most of the machines.

It’s good to learn new things. And even better – it’s better to know things so that you don’t have to reinvent the wheel, since somebody has already done it for you. When you don’t know that something exist, you don’t even know what to look for, and your solutions to common problems will most likely be suboptimal.

Go out and learn then :)