Fixed rendering bug in Feathered Crop for OS X

Thanks to the generosity of Adobe I received a time-limited licence for CS6 Production Premium on OS X to test and debug my plugins. The response to my inquiry was immediate, with no additional questions asked. I admit I am totally impressed with their reaction. Kudos, guys!

I was able to fix a really nasty render bug that made the Feathered Crop almost unusable with the latest version of Premiere, what a few users pointed out to me, some in a kind manner, others not so much.

As far as I was able to test it, the version 1.2.1 of the Feathered Crop should be production ready. Download it here and enjoy:

Feathered Crop CS6 OS X v1.2.1


There might still be a few issues with displaying when the paused resolution is less than full, which I will try to address in the future, but if you find out that there are still some big problems, please let me know. And yes, test the plugins within your workflow before you start applying them en masse.

Premiere Pro doesn’t export markers of 0 duration to FCP XML

While doing research for a commission that I recently received, I found out that Premiere Pro CS6 does not export markers of 0 duration to FCP XML. This proved to be a bit of a surprise, and also turned out to be a major flaw for the software that I am supposed to develop.

I had to find out the way to automatically convert all the markers into the ones with specified duration. Fortunately, as I wrote many times, Premiere Pro’s project file itself is an XML. Of course, as it was kindly pointed out to me, it’s pretty complicated in comparison to the exchange standard promoted by Apple, however it is still possible to dabble in it, and if one knows what one is doing, to fix a thing or two.

Marker duration proved to be a relatively uncomplicated fix.

In the project file, markers are wrapped into the <DVAMarker> tag. What is present inside, is an object written down in JavaScript Object Notation. I’m not going to elaborate on this here, either you know what it is, or you most likely wouldn’t care. Suffice to say, that the typical 0 duration marker looks like this:

<DVAMarker>{“DVAMarker”: {“mMarkerID”: “3cd853f0-c855-46de-925c-f89998aade87″, “mStartTime”: {“ticks”: 6238632960000}, “mType”: “Comment”}}</DVAMarker>

and the typical 1 duration marker looks like this:

<DVAMarker>{“DVAMarker”: {“mComment”: “kjhkjhkjhj”, “mCuePointType”: “Event”, “mDuration”: {“ticks”: 10160640000}, “mMarkerID”: “7583ba75-81f5-4ef2-a810-399786f3a75d”, “mStartTime”: {“ticks”: 4049893512000}, “mType”: “Comment”}}</DVAMarker>

As you can see, the mDuration property is missing in the 0 duration marker, and the duration 1 marker is also labeled as “Event” in the “mCuePointType” property. It turns out, that it is enough to insert the following string:

“mDuration”: {“ticks”: 10160640000},

right after the second curly brace to create the proper 1 frame marker that gets exported. You can do it in your favourite text editor yourself, and then the corrected marker would look like this:

<DVAMarker>{“DVAMarker”: {“mDuration”: {“ticks”: 10160640000}, “mMarkerID”: “3cd853f0-c855-46de-925c-f89998aade87″, “mStartTime”: {“ticks”: 6238632960000}, “mType”: “Comment”}}</DVAMarker>

Granted, it’s a bit tedious to do it by hand for hundreds of markers (as was my client’s request), and unless Adobe decides to fix it in the near future (I already filed a bug report), or Josh from releases it first on his own, some time at the beginning of the next year I might have a piece of software that will automatically convert the 0 duration markers to 1 frame ones, so that they get easily exported to FCP XML. I understand that this is a pretty rare problem, but perhaps there are a few of you who could benefit from this solution.

The main bugger? Most likely it will be Windows only, unless there is specific interest for the Mac platform for something like this.

No smart rendering in Premiere Pro?

Premiere Pro divides the timeline into sections called Video Previews, and after cancelling discards only this section that was being rendered at the time. All the remaining previews are kept.

SIYAH: Premiere Pro for rendering divides the timeline into sections based on clips and edit points. If you cancel the rendering process it discards the results of the section that was being rendered at the time, not the whole render.

Many people who switched from Final Cut Pro to Premiere are thrown off by the fact that if they cancel rendering, Premiere seems to throw away what has been rendered so far. At least this is the impression that you would get listening to several opinionated individuals like Chris Fenwick (whose point of view I like to listen to, especially at the Digital Convergence Podcast, even if I disagree with him from time to time). However, the way Premiere handles renders is a bit different.

First, let’s give credits, where they are due – Final Cut Pro had a great feature: when you stopped rendering, it did not discard anything that you rendered. I wish Premiere were as clever as that.

However, not all is rotten in the state of Denmark. The way Premiere handles rendering might not be as clever as many would like, but it is not as dumb, as this single problem might lead you to believe.

In the rest of my article I’m going to assume that you indeed have to render clips in question, especially since Premiere does so much stuff in the real-time these days.

Premiere handles renders on the sub-clip basis. At the simplest level, the timeline is divided into sections based on clips’ visibility and edit points. Therefore each applied transition creates its own section, because it consists of two clips. Also, if you stack clips one on top of the other, each start or end point on the top layer creates a new render section. Opacity and blending modes are a bit more complicated, but it mostly comes down to which edit points and transitions are visible. Once you understand that, it’s really not that complicated.

Premiere Pro divides the timeline into sections called Video Previews, and after cancelling discards only this section that was being rendered at the time. All the remaining previews are kept.

Take a good look at Premiere’s render progress window, and apart from the number of frames, you will also see the number of video previews – this is the amount of sections that the selected part of the timeline was divided into. If you cancel your rendering at any point, you lose “only” what was rendered within the last clip. Granted, if this was a long – or time consuming – part, you might be a bit unhappy, and justifiably so. However this is a bit different, than the picture painted by a few prominent individuals.

What is perhaps most funny is that at least some of the code necessary for the so-called Smart Render is already in place. If you start rendering in the middle of a clip (via Render Work Area or Render In To Out options), then the new section will be created at the point where the render started. Rendering will also stop at the end point, even if it is in the middle of a clip. So partial renders are already possible. It’s just that for some reason these few lines of code necessary for saving them after hitting “cancel” are still waiting to be written. Hopefully not for that long.

That said, there is one exception, when you can indeed lose all your currently rendered files – it happens if the application crashes (unlikely, however possible), and/or if you don’t save your project after render. The render files will be present on your drive, but there will be no way to link them, because Premiere did lose reference. Come to think of it, unless the render sections’ IDs (and filenames) are calculated randomly, there is little reason for it, and it should be possible to find the missing render files and relink them even after a crash. A feature request perhaps?

Another not so clever way of handling renders is the visibility problem – if you have two clips stack upon each other, even of the base layer is not visible, and you manipulate it, for example by changing an effect underneath, Premiere will force you to render again. Which is plain stupid in my not so humble opinion, and if my memory serves well, it was not always the case, although I might be wrong.

Premiere’s rendering however is smart in a different way – it does not lose what it once rendered. If you stack two clips one upon another, add some effects, render them, and then move them or change the keyframes, it will of course make you render again. However, if you move the clip back at some point, change the keyframes back, or in any other way return to a previously rendered state, Premiere is wise enough to bring back the rendered files. Good luck trying it with FCP with anything except an immediate undo!

That said I am waiting for the moment when Premiere Pro embraces Really Smart Rendering, perhaps on the par of Global Performance Cache in After Effects, Background Rendering on the par of Digital Vision Film Master (which unlike FCP X does manage resources and allows you to work during rendering) and Smart Auto-Save during render. At that point the editing is going to be strictly fun, and you’d better enjoy it, because your coffee breaks will be gone :)

The proper way of using transitions in Adobe Premiere Pro

Cross-fade transition applied at the beginning of a single clip. It is the proper way to fade the clip from or to black.

SIYAH (Summary If You Are in a Hurry): If you want your clip to fade to black, apply simple cross-fade at its end. Use dip to black only as a transition between two clips, not at the beginning or at the end of a clip.

There seems to be some misunderstanding about how and when to apply transitions like Dip to Black or Dip to White in Premiere Pro. It is even propagated in some training videos and this is pretty unfortunate. I hope this article makes the issue clearer.

First, let’s take a look at how transitions work in Premiere in general.

You can apply any transition as a transition between two clips (“Normal transition”). By default it will be centered on the edit point, although you can easily change it either in the timeline, or in the effect control panel. The transition will then be applied between the two clips – applying the cross-fade, slide, wipe, swush and any other wild effect that you choose to use.

Standard cross-fade transition applied between two clips gives an expected result.

You can also apply a transition at the beginning, or at the end of a given clip (“Single transition”). In that case, Premiere will act as if it was applied between your clip, and a transparent video clip, revealing (but not proplerly transitioning to) the layers beneath, and if there are no layers, the black background.

Cross-fade transition applied at the beginning of a single clip. It is the proper way to fade the clip from or to black.

Push is a good example of the difference between transition and reveal. If you apply it between two clips, you will see both pictures moving. However, if you only apply it to a clip on a layer above, only the clip with the transition will move, revealing a static clip beneath. There are times that you might want to use one way or the other, depending on your artistic preference. No way is necessarily more proper than another, just be aware of the difference.

Push transition applied as the transition between two clips. Both clips take part in the movement.

Push transition applied at the end of a clip reveals the underlying static layer. Only the clip with the transition is moving.

Now let’s take a look at how Dip to Black or Dip to White transitions work.

Each is an equivalent to creating a single frame of black or white, and cross-fading first the outgoing clip into the given color, and then fading in the incoming clip from this color.

Dip to Black as a transition fades the outgoing clip to black, and then reveals the incoming clip by fading from black.

It means, that if you apply it at the beginning, or at the end of the clip you will see the clip fading to the color in the middle of the transition, not at the end of it. I’ve seen people compensating for it by tweaking the transition end point in the effect panel, which seems to me the worst possible way to do it. Let me repeat: you should never use Dip to Black or Dip to White at the beginning or at the end of a single clip. Use it only as a transition between two clips.

Dip to Black applied to the beginning of the clip will produce the first half of the transition as black frames. You should never do that. Ever.

Dip to black might also produce some weird results with multiple layers or transitions stacked upon each other. It used to be worse in previous versions (the example shown in the video mentioned at the beginning would fade the whole sequence to black upon encountering the video due to a bug in render order in CS3), but still dip to black will fade all layers below itself to black, not only the clip that you apply the transition to. It might surprise you, especially if you don’t know how exactly the effect works.

Dip to Black applied to a given layer will fade to black not only this layer, but also all the layers beneath, and in earlier versions of Premiere also the layer above. Unless you know what you are doing, stay away from this method of applying this effect.

I hope this clears the issue.


Additionally I’d like to offer a few productivity tips regarding the transitions in Premiere Pro CS6:

  • Keyboard shortcut for “Apply Video Transition” is set by default to ctrl/cmd+D. Set your default transition to Film Dissolve or Dip to Black, and redefine as ctrl+alt/cmd+opt + D.
  • Define a keyboard shortcut for “Apply Video Crossfade Transition” as ctrl/cmd+D.
  • You can also customize “Apply Video Dip To White Transition” and “Apply Video Wipe Transition” in a similar manner, if you so choose.
  • To apply a transition at the beginning or at the end of the clip that is adjacent to another clip, hold ctrl/cmd while dragging the transition from the bin – unfortunately, no keyboard equivalent exists yet. This tip also applies to earlier versions of Premiere.

Adobe Anywhere – are we there yet?

At NAB 2012 Adobe made an intriguing sneak peek at the technology for collaborative editing. At IBC 2012 Michael Coleman introduced the new Adobe Anywhere and presented its integration with Adobe Premiere. Like most demos, this one looked pretty impressive, and even gave away a few interesting developments in the upcoming version of Premiere, but it also left me pondering on the larger picture.

Indeed, Mercury Streaming Engine’s performance seems impressive. Ability to focus on the whole production, instead of on its single aspect, automatic (?) file management (and backup?), use of relatively slow machines on complex projects, working at long distance – all this is really promising. There is no doubt about it. However…

No back end and management application was presented. No performance requirements were given. How soon does a server saturate its own CPU, GPU and HDD resources? Apart from performing all the usual duties, it must now also encode to the Adobe streaming codec, and all the horsepower must still come from somewhere. If the technology uses standard current frame servers developed for Dynamic Link and Adobe Media Encoder, how are the resources divided, and how is the Quality of Service ensured? How effective is the application, and more important – how stable? I hope the problems with database corruption in Version Cue are things of the past, and they will not happen with Anywhere at any time.

Adobe engineers have been working on the problem for about 4 years, so there is a high chance that my fears are unwarranted. At the same time though I’ve learnt not to expect miracles, and there will always be some caveats, especially with the early releases of the software.

Of course, it explains why Adobe wants to first target Anywhere to their broadcast clients. Perhaps there is some of the sentiment, that since the video division finally has the enterprise clients, it needs to take care of them – hopefully not at the expense of smaller businesses and freelance editors like me. But setting up the servers, managing hardware and the whole architecture, takes expertise, and it is mostly the big guys who have the resources to implement the recommendations. We still do not know what the entry-level cost is going to be, but I highly doubt it’s going to be cheap.

Not that small post-houses would not profit from Anywhere. I can easily see how it could be incorporated in our workflow, and how it could easily resolve a few problems that we have to manage on a daily basis. But will we be able to supply the back-end architecture? It remains to be seen.

Interestingly, this approach of beefing up one’s machine room contrasts another trend that we have been seeing – the horsepower of average desktops being more than enough to handle pretty complex projects. All this remains totally unused in the model promoted by Adobe Anywhere. I wonder what Walter Biscardi thinks of it, and does he plan on using it at all.

I’m also curious how the version control is resolved? How are the changes propagated – can you in some way unify the conflicting projects, or do you need to choose one over the other? It is important. I gather that you can always go back to previous versions, but will they be available only from administrative panel, or also from applications themselves? Only time will tell.

It’s good that there is a possibility of expanding the system. I think a natural application that will be developed very shortly after the release, will be some kind of review player, where you can see the recent final result of the project, add markers and possibly annotations (why not? as a Premiere Pro title for example). Especially useful for mobile platforms, like iPad, where Premiere or even Prelude is not available. Such tools could become crucial for the approval and collaborative workflow in general.

There is also another point, which gave rise to the question in the title of this note. Is it the conforming uber-app that I’ve been arguing for? From the limited demonstrations to date unfortunately the answer is still no. We are not there yet, even though Adobe Anywhere seems very promising for collaborative editing, it is not yet there for collaborative finishing (and archiving for that matter).

The elephant in the room seems to be client’s review and approval. It’s OK to serve a 1/4th resolution of the picture if you are editing on a laptop without an external monitoring. But once you get into the realm of finishing, especially with your client at the back, you want the highest quality picture that you can get, with as little compression as you can. Anywhere is most likely not going to be able to serve that. Would you have to leave the ecosystem then?

Even though the support exists for After Effects, Premiere Pro and Prelude, the holy grail still remains the ability to take Premiere’s project in its entirety and work on it in Audition or SpeedGrade, and then bring it back to Premiere for possible corrections in picture edit with all the changes made in other programs intact. Or to export an XML or EDL without a hassle of hours of preparation if custom plugins, effects or transitions are being used. Nope – not there yet.

There is also a question of its integration in larger, more diverse pipelines, involving other programs and assets, not only from Adobe, but from other vendors, like The Foundry or Autodesk. It’s true, that Anywhere does have it’s own API for developers, although it remains to be seen, how open and how flexible the system will be, especially in terms of asset management.

Yet, despite all these doubts and supposed limitations, it seems to be a step in the right direction. And, as Karl Soule claims, the release of Anywhere is going to be big.

What’s coming in Premiere CS7?


Update: see how right or wrong I was with what is actually coming in the next release.

In their recent video concering the introduction of Adobe Anywhere – which I will elaborate on more in another note – guys from Adobe revealed a few interesting upcoming (or at least being tested) features in Adobe Premiere.

Both presenters were using custom development build of Adobe Premiere (the same that you can see at Al Mooney’s presentation at IBC 2012). Especially take a look at around 2:35, where the transition is being applied. For your convenience I include a cropped screenshot with the timeline panel, where all the interesting stuff is happening.

Take a look at mute and solo switches for audio tracks, much wider transition bar centered on the clip, and an interesting button to the left of snapping, most likely toggling the display of audio waveforms. The last option brings into mind a possibility of delaying creation of peak and conforming audio files in the preferences (wild guess). Notice that there is no “untwirl” triangle in either video and audio tracks. The menu to select what property is keyframed on each clip in the timeline is not visible as well.

Update: I forgot to include the fact, that at some point in the IBC presentation Al Mooney drops the clip from video track 2 to track 1, and he most likely did not do it the old fashioned way, but used a keyboard shortcut to do this. It’s a new feature as well, requested by many Final Cut users.

Michael seems to be dynamically adjusting the lenght of the incoming crossfade during application – with cursor keys perhaps? What a wonderful idea, straight from the Illustrator! No more clicking in effects control panel or hunting for the small handles, access directly from the timeline.

I’m also curious about the red pencil icons on the media in the project window. Are there simply markers for Adobe Anywhere assets, checked out, in sync, or is there something else going on?

Interestingly, the clip in the timeline is MXF – is the support for DNxHD in MXF containers coming to Premiere as well? We shall see… One thing is certain – OpenCL for Windows for AMD cards in Adobe Premiere is most likely coming very soon (see here at about 3:10).

These are all the details that I’ve seen in the video. But there is one additional, very important development. For some reason, even though Anywhere is touted pretty much, very little has been made out of the mention of the fact, that the footage in Anywhere is delivered in a proprietary Adobe codec. This is important. Native Adobe codec is something that many of us have been asking for even before the creation of Cineform and its brief inclusion in one of the versions of Premiere, so that in colaborative environments we can skip QuickTime and it’s dreaded problems with gamma.

Most certainly the encoders will be platform agnostic (as oposed to Apple ProRes). We’ll see how well it stacks against Avid’s DNxHD, and if it can be used as a mastering/delivery codec as well. Of course, the real key to popularity is making hardware vendors like BlackMagic, AJA or Convergent Design support direct recording in this format, which most likely will not happen overnight, and the ability of really high-end tools like Nuke to work with it.