Help redesign the Blender Video Sequence Editor!

Here is an example of a quite good meta data entry system for my day job editor (Grass Valley Aurora). It uses a single source/record paradigm, where I can sort clips into a collection (shared with others) then open each clip in the viewer window and assign useful information to it. Things like Keyframes (useful instances sort of like Blender markers) and Keywords (a marked range using in/out points) that may save multiple preferred takes or sound bites. These are also saved to a separate metadata spreadsheet for other users to access when not in the same edit session.


Below the viewer window is an edit job (record). In this case, just a string out of shots. But you may notice the interesting allocation of tracks. 4 Audio, 2 Video (A-roll, B-roll or stacking for effects) an Effect track and a Graphics track. When I have to use this I really miss Blenders VSE and it’s wild flexibility. Honestly you can’t change a thing in Aurora, it’s built like a truck :frowning:

The following example is an actual edit in the Record mode. Basically you open a clip up in the viewer (source mode), assign in / out points (or just one of each) then switch to record mode. Scrub along your timeline and assign in / out points (or just one), then select the active tracks to send the clip to. You can also repatch the audio or video to different tracks at this point.
Then select the type of edit you want to perform, either Overwrite or Insert. An Overwrite edit will erase whatever is on your timeline at the point. Whereas Insert will move the current timeline media to the right and place the source media on the timeline.


I see the key functions as In / out tool (showing timecode) and an audio meter for rough balancing of relative levels. Also the track assigns are very handy, but this presupposes the limited nature of tracks in this UI. In real editing you often want to allocate audio to specific tracks for post mixing. An example in the above work is all voice going to track 1 while all background sound goes to track 2. Additionally you may want effects on track 3 and music on a stereo pair below that…

Hi 3pointEdit,
Don’t you feel that all the stuff about the insert/overwrite to be somewhat outdated? Those are metaphors taken from the tape editing machines from the late 80’s where there was no such a thing as realtime edit. Those metaphors have been carried through by Avid and other early digital NLEs. What’s the point in having them in a software that has never been used seriously for video editing and thus doesn’t have conservative users.

I think that we should push for newer metaphors, a kid that makes youtube videos with a 550d doesn’t even know what is a timecode and how videomakers where making it in the 80’s.

Here’s what he does:

  1. He has an idea
  2. He watches his footage to find relevant parts and good shots
  3. He highlights all the interesting pieces
  4. He seeks a good audio base
  5. He trims the footage directly in the timeline
  6. He watches out for good transitions
  7. He may want to sync somehow the audio and video and thus he needs good visual references for both.
  8. He may want to color correct his footage to make all the shots homogeneous
  9. He may want to grade his sequences to give them some particular emotional significance.
  10. He may want to add some CG for the kudos
  11. He exports his sequence to some known and working format, and he can’t wait for it to render until tomorrow, otherwise he would use a cracked after effects copy

I think when VSE would suite this user’s needs all the other use cases could be suited by small incremental additions along the release cycle.

How do you know where the relevant shots are? Count from the start? Thats timecode. Sync up more than one camera covering the same action; that requires timecode. Its just a reference for when stuff happens. Its as outdated as telling time. And that’s still pretty useful.
Why not go through your footage and note the good stuff first. Perhaps you might miss something by cutting first and triming later. By all means trim on the timeline. That’s contextual editing.
Overwiting vs insert editing presupposes that you may want to change your mind, but what you suggested is a stringvout from first to last shot. What do you think we should do when we must add a shot in the middle?

Btw I was editing your way on vhs 24years ago, I really think the other way is better for everyone. Including the kid with a 550d, like me :wink:

Edit:
Whoa that makes me sound so old… hey you kids get off my lawn!

Oh and gestural editing like drag and drop is really sloooooow. So button short cuts are worth having too. If you like drag n drop interface can you point me to a good example for editing?

@3point - thanks for those screenshots and the detailed writeup. Two questions: (a) do you like the minimal track-headers with per-track detail-expanding? Does it work well? I think this could be compatible with the blender VSE UI. (b) how do you find things in that metadata afterwords? Merge the spreadsheets? Or was that a global spreadsheet? What does it look like?

@canaldin - Your example is the audience I want to help. from the bottom (young youtube publishers) to the top of the bottom (aspiring amateur film-makers). In some ways Blender+VSE already has a more integrated motion-graphics workflow than Motion+FCP, it just isn’t as slick on either the motion graphics or VSE side.

That said, timecode support seems good. This really isn’t an either or. Plus, I’m a bit more lenient on render-times, especially for nice FX, though I think for most simple things it would be nice to avoid them. GLSL may be fine for some motion graphics rendering.

Ohh, and 3point, there can’t be multiple timecoded shots of the same event if you are a kid with one 550d! :slight_smile:

Can be if you co-opt a phone with camera :wink: here’s one I cut in Blender…

Sorry for my arrogance 3pointEdir. I’m not a professional editor by no means, I know how to make my way through it but there are certainly people that do it better and faster than I do. What I was trying to bring about is that blender has a unique possibility now to introduce a more consistent and modern workflow to the editors. I started with 3DS MAX when I was 11, I used it for 10 years before I discovered blender, at some point I didn’t want to go back because 3DS smelled old, this was a turning point. When you are really deep about what you’re doing it is not about the interface you care, it is about the concepts (unless you’re making money with it :slight_smile:

You can’t really get 3 550d rolling on a 2 hour conference like you would on vhs, they will just burn out the sensor and whenever the cameras stops the timecode gets broken as it is on a per file basis so I generally sync with a clapper or audio when doing multicam. People shoot tens and hundreds of files on a session, so when does the timecode gets into play? I don’t know how many of us will get to shoot with a global timecode generator system, and at that point you’ll probably have someone in the production who would write a piece of python code to deal with the metadata, or most probably you wouldn’t use blender.

I shot many short films with a friend of mine, he does the director I do the DOP and post. He always insisted there should be a script supervisor to write the editor’s notes on set and I always said it was useless but never insisted :slight_smile: I asked several professional editors about the usefulness of this figure, and pretty much all said that It wasn’t that essential nowadays on an under 10 minutes videos. And even on rare occasions where they do get the notes they watch the entire footage anyway making their own annotations. This is to say that digital film makers are spoiled in many ways by the ease and manageability of the digital footage.

As for the insert/overwrite, probably it will not hurt anybody. I never used it because you don’t get the control over what’s being displaced and how much, most of the time you have some sort of constraints when changing stuff in the middle of your edit. You either have a target duration or the footage is synced to the audio, so I personally move what can be moved and insert what I want to insert, adjusting to the timeline, this way I know that I’m not braking the whole edit. This is personal anyway. And the shortcuts probably come in handy for someone doing it professionally.

_________________________________________sorry, just a repetition see the next post

One of the things that i find disturbing about the traditional NLEs is the sourse-reference paradigm. I think that it is confusing, especially for the new ones, where you switch back and forth, you always have a portion of your screen that is unutilized for most of the time. It should also be noted that more and more often one has several in-out of a single source in the end. So I think that in-outs should be treated more like markers rather than something inherent to a source clip.

I’ll try to outline a possible workflow:

  • one browses his collection of files
  • double clicks on a particular one, a fullscreen window pops un like when he press f12 to render, he gets a “fake” local timeline and a monitor
  • he marks one ore more strips with ins and outs, the source file gets splitted in the collection viewer, like partitions inside a logical volume.
  • at that point he press esc and continue trimming the sources or drag the splitted items form the collection to the timeline

Let’s face it the source monitor is just a burden in the interface, you really need it in the initial phase, and no one really bothers to close it because they might need it at some point later so it remains just stuck in your face doing nothing for most of the time. The files manger and source monitor are deeply related to me and thus should be integrated tightly in my opinion. This is where premiere is heading with interactive previews in the file manager(project manager).

But, there is another case where you need the source monitor, and it is when you need to redo the ins and outs with some visual references. For this I would suggest to port the mechanism by which the groups are edited in the compositor. That is to say you press TAB the group expands whatever is inside it and the background becomes uneditable. In most NLEs you can adjust the in-outs of a strip either from source or from the timeline. But with the source way you can’t snap to the adjacent strip and from the timeline you can’t really know what portion of the footage you are extending/trimming. So the local editing principle used by groups in the compositor would resolve this problem. Here’s how

  • you have your strip in the timeline
  • you select it and press tab, all the surrounding strips become uneditable your timeline becomes local and you can play your footage past the in-outs like in the source monitor and your regualr monitor displays it.
  • now you can adjust the in and out points, snap to the adjacent clips, slide the footage
  • tab and you’re done

By the way this is consistent with how local editing is accessed for mesh and groups. So it will integrate smoothly with the blender mentality.

I’ll provide mockups ASAP

Yes, this is something I’ve been thinking about recently because I’ve made several shader “Groups” that I then re-used them in the same scene. The problem is, I haven’t figured out how to simply save them out and load them into another scene very easily. Is there a way that I’m just not aware of? What would be optimal and what I think you are getting at is to have the ability to save out custom ‘node groups’ as files or maybe even libraries of ‘node groups’ for later reuse. Could they just be stored in a “Node Groups” directory along side the scripts directory?

Node groups are great because you can very easily define the inputs and outputs and animatable parameters. Again, very optimal! They are made to be reusable. This is not so simple for an entire scene.

So if you made the interchangeable unit be the node group, you automatically gain a UI and the node groups can be as simple or complex as need be. These could then be used in the VSE as effects. People could also share and exchange these units. What I think is a great idea is the notion of just using these compositing node groups as FX plugins. That’s awesome and I can see a huge community or users creating, modifying, exchanging and collecting these FX groups.

b) …configure/export external video-inputs to the scene (much like composing node video inputs)… these might be used directly in 2d compositing, or they might be placed on a 3d texture on a 3d object… For example, a page-flip transition can be a scene with a 3d book page flip, with two video sources mapped to the pages.

Okay I see, this is why you were thinking of making the exchangeable unit be a scene. This is a good idea too but I think I’d like to see both. having an entire scene that utilizes some effects in 3D is pretty neat but I think it could be pretty overwhelming if you are trying to deconstruct in order to figure out how something is done. I know from experience that just because you have someones scene doesn’t necessarily mean you’ll be able to figure out what’s going on. But that’s just me. :wink:

One of the main things I see happen in the edit suit is that the director sees something and thinks, “Can’t we just quickly replace that sign?” or maybe there’s something seen from a window that needs to be taken out. It always ends up going to composite for some match moving or mocha work or something. and then comes back to the edit. It usually takes a stupid amount of time because the footage needs to be exported and there are always some number of unseen variable that end up making it take longer that it needs to. But in Blender, we could do this ourselves in the edit. I’m fascinated by that idea because I’ve always thought the separation between composite and edit was mostly self imposed and superficial. Over the years NLE applications have been gaining more and more “Compositing” tricks like green screen but there’s no reason why you couldn’t just do more complex things within the edit.

And then hits “Insert” or “Overwrite” and the new clip appears in the timeline wherever the play head is. Sounds familiar actually. :wink: This is actually how it works in Final Cut Pro X. The main viewer window just toggles between source and reference depending on what you are currently doing. And I totally agree about the concept being outdated.

Let’s face it the source monitor is just a burden in the interface, you really need it in the initial phase, and no one really bothers to close it because they might need it at some point later so it remains just stuck in your face doing nothing for most of the time. The files manger and source monitor are deeply related to me and thus should be integrated tightly in my opinion. This is where premiere is heading with interactive previews in the file manager(project manager).

But, there is another case where you need the source monitor, and it is when you need to redo the ins and outs with some visual references. For this I would suggest to port the mechanism by which the groups are edited in the compositor. That is to say you press TAB the group expands whatever is inside it and the background becomes uneditable. In most NLEs you can adjust the in-outs of a strip either from source or from the timeline. But with the source way you can’t snap to the adjacent strip and from the timeline you can’t really know what footage you are extending/trimming. So the local editing principle used by groups in the compositor would resolve this problem. Here’s how

  • you have your strip in the timeline
  • you select it and press tab, all the surrounding strips become uneditable your timeline becomes local and you can play your footage past the in-outs like in the source monitor and your regualr monitor displays it.
  • now you can adjust the in and out points, snap to the adjacent clips, slide the footage
  • tab and you’re done

By the way this is consistent with how local editing is accessed for mesh and groups. So it will integrate smoothly with the blender mentality.

I’ll provide mockups ASAP

I really like this idea!

Um the vse extras addon has a slip function already. And fcp7 used the source window for effects editing too. You may notice the example I gave earlier for Aurora actually uses a single switchable window, but I find myself constantly swapping as I try to compare record vision to source preview. Whereas using the source/record display it can be great to park on a shot in the master timeline then build some effect, like a color grade to match etc.

Indy Logic, you are aware of node groups saved as a scene component? You can move them as a group between .blends or scenes. There was even an addon that could encode node groups as favourite scripts.

Canaldin, I am always creating < 10 minute movies at work and find metadata very useful. Of course my ‘wild footage’ to ‘finished minute’ ratio is probably much higher. I regularly have access to hours of footage (it would be very difficult to keep track of the best shots).
I would call a script “unattached metadata” then I proceed to link the shots to the script via notes. These notes refer to the video by way of timestamps. All videos actually have timestamps or timecode, often as ‘time of day’ but more frequently as clip start. That is 00.00.00 from the start of the shot. It’s already there so why not use it. Sure you may not need the functionality all the time but if it’s built in, then Blender could be way more capable than iMovie.

a) Yes, the ability to collapse a track is great and having basic effect variables available on the timeline is very helpful for contextual editing. I would add vision opacity there too as it is just as heavily used as audio levels. The NLE illustrated has a flaw in that the tracks cannot be expanded any more than this and the audio fade is exponential. So you have great difficulty when dragging the level quite low (off or on scenario).

b) Metadata is saved in an external database. It can be searched in a suite of tools or the NLE itself. To search the database you simply spec some boolean words and pull up file names or shot descriptions etc. A key benefit to Blender would be the ability to search other .blend files for their own attached metadata databases, or they could reside in an external file encoded like a python script (like the node group favourites addon I refered to earlier)?

In this app (Aurora NLE) you must stop to add each keyframe (in / out subclip) it would be great to be able to specify them and add (searchable) text on the fly.

The issue I have had in the past with the current system of node integration is that I don’t think that you can easily drive values across scenes? So if you slip or trim the shot in the VSE master then the comp node scene doesn’t know that there has been a change in start time of offset to the movie input node.

I think that you would have to build a variation of the compositor that lived in the VSE and iterated on a per shot or effect strip basis.

@canaldin - i really like your idea for “tab to edit mode” for a single clip in the VSE. I think it would be useful to think about how this workflow would transition to cut clips. Would you allow cuts in edit-mode? Would the pieces stay part of the same “object”? Would there be explicit join/separate operations like in mesh editing?

@indy_logic - i understand your desire to have light-weight units. Keep in mind, however, that scenes are very light weight. They can have 3d rendering, compositing, and VSE turned off at which point they are just start/end points. Your sign-masking example would need a scene context, because you would want to start up the movie-clip-tracker, track the sign, pull a mask and/or matte in the compositor – all of which requires a scene context. In fact, I think it is probably sane to consider VSE clips either “raw” (aka not wrapped in a scene) or “processed” (wrapped in a scene for any amount of compositing, tracking, scene work). This way there is never a transition from just using a “small compositing group” to using everything blender offers. We just need some simple-enough UI for adding/configuring simple compositing effects from directly in the VSE (even if they are for another “scene” which the clip is loaded into)

@3point - regarding the comp-scene start/end issue… In the model I described above, a “processed” shot would be moved into a scene of it’s own and so it would become a “scene clip” as far as the VSE is concerned. In trivial cases, slipping/trimming the scene-clip could effectively modify the scene-clip-render start/end frames. However, if that scene compositor brought in other video frames, we now have another timeline involved. I feel like somewhere down this path it pays to have the VSE manage all input video sources (such as video input nodes in the compositor) and their relative time-positions. However, I don’t understand enough of the current framework to know how this would work.

Have you seen the recent Smoke demo? Theres a lot to like there http://www.youtube.com/watch?v=6TWoZ-gQvTI&NR=1&feature=endscreen some great solutions worth considering.

Here is a mockup of a clip viewer for Blender.

  1. Drag source media from a File Browser window (far left)
  2. Into an asset list (Outliner in this case) which is automatically saved out to python script.
  3. Open preferred asset in a Clip Viewer (Movie Clip editor) with timecode stamp (In this case time from start)
  4. Add markers for various parts that you may want to edit with. That is In point / Out point and a title for the shot eg. Boy grabs toy
  5. Metadata is saved in the asset list (2), browse-able from out outside the current .blend (by opening the python script in another .blend)
  6. Use asset list to select choose the shot you want to use in the timeline…


Actually it would be cool if the metadata could appear as sub information in the Outliner window, expose it with the + button. This would toggle down a list of in/out points with associated text. Then you might drag n drop one of these (or a selection) into the timeline. Of course I would like a Insert/overwrite button too! In this way you can browse a large database of clips and their metadata, not just the header frames (as they appear in the browser view).

This way you would only need a narrow Outliner window open to retrieve you assets and cut them into the VSE timeline. If the Movie Clip/trim window also had a Insert/Overwrite button then you could perform your edit decisions there too. Have as many of those windows open as you like would be really cool too (so you could compare shots etc.).

The only drawback is that I cannot see a way to sort the metadata text entries in the Outliner view. Perhaps it would have to be a seperate but similar tool with various column sort features?

I wonder if its possible to include a strip’s speed as an editable value, instead of having to add a speed effect. This would allow the user to define a conform to project frame-rate variable, making the video match its audio component duration. However I think Blender would have to improve its frame interpolation of non-rendered assets. Even basic frame blending would be a step forward.

Considering again what was suggested earlier about quick edit workflows. I’m a bit confused, shouldn’t you watch all your media before using it to edit? Or at least organise it in some way? If not, is there some arbitrary quantity of clips that makes it all to hard to bother with? That is 20-30 shots, more? Maybe there are no retakes or fewer scenes to deal with, or is it just an aversion to difficult to understand UI? If the latter then I guess that should be addressed here, is metadata a worthwhile system of value adding for an edit session?