Jump to content
Dataton Forum
PierreLucB

Composition Issues (Playback and Editing)

Recommended Posts

Hi everyone,

 

Has anyone else had experience where their Watchout system had difficulties playing Compositions?

I have a setup with 1 display computer outputting 3x 720p. It's a good computer i7 3.7ghz 12 or 16gig of ram and an Nvidia Quadro K5000. Watchout v5.5.2 & Windows 7.

 

When I play files inside a composition (size of comp is 1280x720) the computer has a much harder time playing back and chokes and skips frames. But when the same files are not in a comp, they play with more ease and much less dropped frames, if any.

We are using H264 in mp4 containers coming from AfterFX or Adobe Media Encoder.

 

I've also noticed that it's not possible to pre-load a composition. Does that mean compostions do not get preloaded?

Do compositions bring a performance hit? Would they work better with a different codec?

 

Now for the editing.

1) Is it possible to hold on the last frame of a composition? Just like a normal video file behaves. It would be very handy. Comps always finish with a black frame.

2) It would also be very useful and more clear if the duration time of a comp was its actual end time. Right now, if a file goes past the end time of a comp, it will keep playing until its end and then finish with a black frame.

3) Is it possible, in a composition, to have:

Clip 1 running normally but Clip 2 set 2 looping so that when the time reaches clip 2, the comp would start looping that clip until we exit the comp in the timeline?

4) Do the "Free Running" and "Loop" checkboxes of video files insides Comps actually do anything? I tried many combinations and I couldn't figure it out.

 

Looking forward to hearing from you guys!

Thanks.

Share this post


Link to post
Share on other sites

I was hoping somebody from Dataton - maybe Mike - would chime in on this, because I would love to know more about how Compositions and Tasks work under the hood. I sometimes encounter strange behaviour with Compositions and I don't know whether this is caused by the media I'm using, the way I've structured the project, performance limitations of the machine I'm using, or some general constraint when using Compositions.

 

I assume that Compositions add complexity to the rendering pipeline. I don't know whether Watchout pre-renders the elements in a Composition and then composites them onto other timelines (like After Effects pre-comps), or whether media cues from Compositions and Tasks are all processed and rendered in one go, but either way there must be a processing overhead.

 

I don't know, for example, whether the dimensions specified for a Composition have any effect on the number of pixels rendered (or considered) by Watchout. Unlike say, After Effects, which crops compositions to the boundaries, if I create a 600x600px Composition but drop in a 1920x1080 media, the entire media is visible in the timeline where I place the Composition. When creating a Composition, the dimensions default to cover all the Displays (which sometimes leads to a small media item in a huge Composition) but I don't know whether unnecessarily large dimensions mean a performance hit because Watchout will process all those pixels.

 

As to PierreLucB's questions about looping and free-run. I don't think I've tried free-run inside a composition, but I often put a Composition with a video or audio cue into a Task, with free-running and looping set, in order to be able to fade in or out of a loop at any time, and that generally works fine. One exception I've seen is with nested compositions: The other day I had a series of Compositions with title images animating into place, as I needed to reuse the same title group in several places at different sizes, and Compositions are good way to handle that. When I tried to nest the individual title Compositions into a master Composition (which was then looped in a Task for a holding-animation before the conference) the title Compositions would all play back once, but the master Composition refused to loop. So looping & free-run seems to work fine with one level of Compositions but not when they're nested - at least, not on the machine I was using.

 

I'm not seeing a black frame at the end of a video in a composition in the way you mention. Two things: Does the Composition length match exactly the length of the video (down to a the decimals)? And secondly, perhaps the mp4 video is encoded such that the last keyframe is black - the pre-configured settings for mp4 files in compression software are often set up with web delivery in mind and are not optimised for Watchout playback.

 

In general, I think the Free-run and Loop settings apply in Timelines, but not in Compositions - at least, they don't work for me inside a Composition, so for point 3, if you want to combine normal playback of one clip followed by looped playback of a second clip, I think you could do that in a Task, but not a Composition. And if you need to hold on the end-frame of a composition, I think you would need to add a pause at the right moment in a Task.

 

As for pre-loading, it's true that Compositions offer neither pre-load or in-time settings, but the media still has to be pre-loaded. I assume that Watchout is scanning ahead in the timeline pre-loading media in Compositions about to be displayed, but it would be great if there was some visual indication of this. Video editing and animation software often display little coloured lines along the top of the timeline to indicate where media has been rendered and is ready for real-time playback. It would take some of the guess work out of media playback for Compositions and Tasks. As an example, a few months ago I was given a 20 minute long 1080p h264/mp4 file encoded by the client as a looping backdrop for a conference. In order to get a smooth start to the playback, I had to leave the Task on 'pause' for a couple of minutes before I hit play; any less and the playback stuttered at the beginning. I assume Watchout needed time to buffer part of the video but, other than trial and error, there was no way to tell precisely when Watchout would be able to play back that media smoothly.

 

As another example, last month I ended up using Watchout in 'VJ' mode, basically filling the screen with video loops, overlaid with different blend modes. Although the Display PC is not the latest-and-greatest machine, at one point I had a dozen layers of HD MPEG2 looping simultaneously and (as far as I could see) smoothly. The hiccups occurred when cueing a new clip. Even with just 1 clip playing, when I triggered a second task with a video clip set to Free-run and Looping, all of the media currently playing would pause momentarily when arriving at the Pause cue in the new Task (In each Task, the video clip had an opacity tween to fade on and off, and a Pause control cue at the mid-point). So, as I said, playing 12 streams of video at the same time didn't cause a problem, but one Task hitting a Pause cue caused all the Tasks to hesitate for a moment, which I find confusing. The media is already playing, so presumably it's not a pre-load problem, but a performance limitation of the machine but, can that be the case when the machine is already playing the media smoothly?

 

If somebody with better knowledge of Watchout internals has any hints or advice about how Watchout is loading and managing media in Tasks and Compositions, I would be interested to learn more - thanks!

Share this post


Link to post
Share on other sites

These are great questions that I have often wonderd about too.

One more thing - is there any advantage in placing media in the Main Timeline as opposed to running from aux timelines?I remember another operator saying they always put large media items on the Main Timeline where possible. I only wondered about this some time later and wished I had asked more.

Let's say I have a dozen compositions which run sequentially, is there any gain in performance in placing these on the Main Timeline , as opposed to placing them in an Aux Timeline for more flexibility?

Share this post


Link to post
Share on other sites
While I'm out of the loop these days, I do have some insights into how compositions work in general (as I wrote the code in the first place). In essence, a composition works exactly the same as if you would take all the cues that are inside the composition and paste them directly onto the enclosing timeline, replacing the cue that plays the composition. There should be no rendering overhead associated with playing a composition.
 
Having said that, a composition do give you some additional capabilities:
 
1. You can loop and /or free-run a composition (this is similar to how a video can be looped or free-run).
2. You can transform the entire composition (position, rotate, scale) as a whole.
 
Neither of those actions should have any noticeable impact on performance, since they have pretty much zero runtime overhead.
 
I'll now try to answer some specific questions from above.
 
> When I play files inside a composition the computer has a harder time.
 
This sounds like a bug. It should make no difference whether the cues are in a composition or out on the enclosing main/aux timeline. Please provide a reproducible test case showing this to support.
 
> I've also noticed that it's not possible to pre-load a composition
 
Content inside compositions have automatic preloading, just like everything else in WATCHOUT. There's no manual preroll override on compositions (as there is on video cues), if that's what you mean.
 
> Do compositions bring a performance hit?
 
No. They should not.
 
> Would they work better with a different codec?
 
What codecs you use is orthognal to whether you use compositions or not.
 
> Is it possible to hold on the last frame of a composition?
 
No. A composition is not a video. It is a collection of cues bundled together.
 
> Do the "Free Running" and "Loop" checkboxes of video files insides Comps actually do anything?
 
I believe they should work the same as for cues on the main/aux timeline, but I may be overlooking some detail here. It's been a while...
 
> I assume that Compositions add complexity to the rendering pipeline. 
 
They do not.
 
> I don't know whether Watchout pre-renders the elements 
 
It does not.
 
> I don't know whether the dimensions specified for a Composition have any effect 
 
It does not. This is called the "Reference Frame", and is just that. A frame of reference, that's also shown as the rectangle in the Stage window allowing you to select and move the composition on stage. But this frame doesn't specify any pixel boundary. You can have images in the composition render outside this frame just as well.
 
> I don't know whether unnecessarily large dimensions mean a performance hit
 
It does not.
 
> looping & free-run seems to work fine with one level of Compositions but not when they're nested
 
That's correct. There are some limitations related to looping and free-running in nested compositions. I believe those options only affect the topmost composition level. Trying to wrap you mind around all the possibly permutations here makes your head hurt. Don't even try.
 
> As for pre-loading, ... the media still has to be pre-loaded.
 
That's correct, as I mentioned above about automatic pre-loading.
 
> I assume that Watchout is scanning ahead in the timeline pre-loading media in Compositions about to be displayed
 
That's the same regardless of whether cues are in a composition or not. Automatic pre-loading starts about 3 seconds before the beginning of the cue unless overridden manually (available in video cues as the Preroll option).
 
>  is there any advantage in placing media in the Main Timeline as opposed to running from aux timelines
 
No. Main and Aux timelines are rendered in the same way.
 
> Let's say I have a dozen compositions which run sequentially, is there any gain in performance in placing these on the Main Timeline, as opposed to placing them in an Aux Timeline for more flexibility?
 
No.
 
Mike
 

 

Share this post


Link to post
Share on other sites

...

As another example, last month I ended up using Watchout in 'VJ' mode, basically filling the screen with video loops, overlaid with different blend modes. Although the Display PC is not the latest-and-greatest machine, at one point I had a dozen layers of HD MPEG2 looping simultaneously and (as far as I could see) smoothly. The hiccups occurred when cueing a new clip. Even with just 1 clip playing, when I triggered a second task with a video clip set to Free-run and Looping, all of the media currently playing would pause momentarily when arriving at the Pause cue in the new Task (In each Task, the video clip had an opacity tween to fade on and off, and a Pause control cue at the mid-point). So, as I said, playing 12 streams of video at the same time didn't cause a problem, but one Task hitting a Pause cue caused all the Tasks to hesitate for a moment, which I find confusing. The media is already playing, so presumably it's not a pre-load problem, but a performance limitation of the machine but, can that be the case when the machine is already playing the media smoothly?

 

 
I was also interested in knowing about this. I've had minor pause issues with multiple tasks. I try not to let them run simultaneously, but sometimes you have no choice...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...