olive-editor / olive

Free open-source non-linear video editor
https://olivevideoeditor.org/
GNU General Public License v3.0
8.13k stars 548 forks source link

[Feature Request] Merge clips on the timeline #1016

Closed alex2345 closed 5 years ago

alex2345 commented 5 years ago

For example, there is a small video clip (or audio clip) has only 40 frames.

  1. Drag and drop this clip onto the timeline.
  2. Copy and paste to make many 40 frames onto the same track of the timeline.
  3. Select all these clips (on this track), right-click-mouse, choose Merge to merge them together.

The original idea for this, is to duplicate some 'butterfly flying' clips onto a video track. You can get the butterfly here: https://pixabay.com/videos/butterfly-wing-clap-loop-color-6963/ Since the duration of this 'butterfly flying' is too short, for keeping original flying speed, I need to duplicate some 'butterfly flying' clips onto a video track.

My problem is, after I duplicated many 'butterly flying' clips onto a single video track. I cannot setup a 'one way to the end' keyframe settings for these a 'butterly flying' clips.

It means, keyframe settings bind to a clip, not bind to a track, Maybe a complex design issue, hope you a better idea to solve it.

elsandosgrande commented 5 years ago

I second this. And also, it should be reversible.

sobotka commented 5 years ago

I believe this feels like a problem solved within an existing design context, where there may be a more homogenous solution worth trying to work through. For example, this feels closely related to the horrible solution presented in #951.

If we try to unpack the need, we have frames as entities for manipulation on the Timeline. It would be wise to keep the Timeline for such a purpose, and avoid the risk of turning it into a multiple kitchen sink design, under a UI construct that isn’t terribly efficient for the task. Specifically, separate the generating of entities from the interaction thereof; keep the UI components focused on specific design goals.

There is another area here that hasn’t been discussed because it’s further down the food chain of priorities, which is the Review workspace for logging, trimming, versioning, and preparing footage for work. The idea of concatenation of still frames, and the choosing / preparing of still frames would probably be wise to keep focused on such a workspace, as opposed to the Timeline UI component.

Specifically, this could be foreseeably be a component of selecting the appropriate frame(s) in question, setting ins and outs for each, and then bundling them into a workable sequence entity for the Timeline. In doing so, it removes it from the taxing the Timeline interface element with additional flotsam and jetsam, and hopefully works towards an efficient component of the Review workspace.

elsandosgrande commented 5 years ago

In that case, perhaps a suggestion should pop up for when people act in accordance with their "kitchen sink" assumption?

The thought has just occurred to me that, if Matt were to continue doing that for a lot of things, he would simply be better off creating an interactive guide that is built into the program. Hmm, not a bad thought. I will start considering that I simply suggest it directly to him after master can be built from again.

sobotka commented 5 years ago

I think the idea of trying to create entities and how to trim them is a complex design problem here. That is, it’s worth skimming over review tools such as Shotgun, RV, as well as conventional logging workspaces in an attempt to shape a Review workspace in Olive. You’ll see more than a few examples in this tracker where the underlying commonality would fit in well with this design.

Resolve does a decent job of breaking the workspaces down into granular semantics, for those who don’t have examples of the idea. I’d hope that relevant UI components (viewer, timeline, etc) can be reused under the banner of a Workspace where viable.

It might be worthwhile to gather up the various issues / needs under a wiki page list or such as an effort to track the design.

musaire commented 5 years ago

To be honest, I don't expect the clips on timeline to behave this way. I'd render it out previously if I'd absolutely need clips together. I wouldn't expect it to render clips together while all of the editing on timeline is done for the final render anyway, it is not needed to render clips together at every point. Can't imagine why it is needed - we can group them together for moving around. BUT if the keyframing works this way, for clips only (I haven't used the software at all, just hearing the comment), I think this is a problem - I'd like to change parameters going through clips based on timeline time values and maybe even between the clips in empty spaces (I am doing this in Vegas - yeah, another Vegas comparison... :l , can't explain it atm why I do it in empty spaces between clips too). I can see this happening in "preparing footage for work"-workspace though. For sure for stills. Not sure it is that often needed for video. Just render it beforehand! :)

musaire commented 5 years ago

That said, if these aren't present already, I can't (yet) imagine it without the track level effects.

ion12 commented 5 years ago

Olive supports nested sequences. Unless I'm misunderstanding the original question that should achieve exactly what you are after.

You can create a sequence called "Butterfly Loop" that contains just the duplicated butterfly footage, and drop it into your main editing sequence. It will show up as a single clip that you can use effects and keyframes on. If all your butterfly duplicates are already on the main editing timeline you can select them, right click and choose "nest" and olive will automatically create a new sequence containing the clips you chose and replace the clips on the timeline with this new sequence - which you can again use effects and keyframes on as if it is a single merged clip.

You can nest sequences recursively - so in your butterfly example, you can create one sequence called "butterfly loop" with all the duplicates, nest that into a sequence called "butterfly loop keyed" where you apply a chroma key effect to take out the green background and then you can nest that sequence multiple times into your main timeline, applying different scales or motion animations to each instance. Nesting is a very flexible tool as you can always go back into your nested sequences and re-edit them if necessary, although it's always good to put some thought into planning in advance.

Hope this is helpful.

alex2345 commented 5 years ago

ion12, thank you a lot!
following your way, a single merged clip was produced. it is really amazing (both Olive and you), but I still got some little questions:

Q1) Olive seems does not provide real 'Tree view' on the project window, so, I cannot identify which file is belonging to which sequence visually. or, maybe we should submit a [Feature Request] for a 'Real tree view'?

Q2) Could anyone tell me what does 'nest' means in Olive? dictionary explanation for 'nest' is: a structure or place made or chosen by a bird for laying eggs and sheltering its young. but I think it just like 'group' here, is it correct?

ion12 commented 5 years ago

@alex2345 Q1 - Olive generates generic names for new sequences ("Sequence 01", "Sequence 02", "Nested Sequence 01" and so on). If you stay with these default names it can indeed become difficult to keep track of which sequence contains what footage. It's good practice to rename sequences as soon as you create them, with meaningful descriptive names - this will help a lot. I don't know of any NLE that provides a tree-view of the media that is contained within each sequence. Olive does allow you to create folders in the project pane so you can organize related footage and sequences into different folders if that helps. Q2- "Nested Sequence" simply means a sequence that is contained inside another sequence. The definition you should be looking at is the computational definition of nesting.

alex2345 commented 5 years ago

@ion12 very grateful to your useful help! you are so great!

Simran-B commented 5 years ago

I don't know of any NLE that provides a tree-view of the media that is contained within each sequence.

After Effects has a flowchart view, but it's read-only.

If you add a sequence as a clip to another sequence, then that sequence inside the sequence is a nested sequence. You could place all the clips of the inner sequence directly into the outer sequence, but it's harder to manage. Turning several arranged clips into a nested sequence is kind of like grouping indeed. But imagine you want to have this arrangement of clips twice in your sequence. If you duplicate them individually or the group, then both are completely separate from one another. Changing one will not affect the other, because it's basically a "deep copy". A nested sequence on the other hand allows you to place it multiple times in your main sequence, but changing the nested sequence will affect all of the instances. You essentially link the sequence, not duplicate it.

musaire commented 5 years ago

Also thanking @ion12 for all this info! I am smarter now. I had no idea about these possibilities, I really should try the software already!