Blender Edit - VSE Bin ability, multi user project, and extra sequencer UI/operators

Hi my fellow blenderheads !

I recently had big headaches over the blender sequencer, which, in my opinion, is one of the more capable NLE in open source world. But there’s a few missing things stopping it from becoming more than just a classy addition for the 3d part.

Coming from Avid Media Composer as an editor, one big issue is for me the bin system, meaning the virtual folder organisation system. This allows user to deal with a large amount of rushes inside the software, keeping intact the source files and naming.

I took a shot at this lake, and i’m proud to present you the alpha version of my new addon, blender edit.
It mimics this avid’s virtual organisation, storing shortcut to your files in external bin files. This means these bins are shareable between project and users. This system allows users to work on same edit at the same time on a network drive.
The addon also adds a common UI in the sequencer to rename channel, and use an in out point system to drag file from bin to timeline.


All these additions are meant to transform the blender vse in something more precise.
Of course, this addon is in a really early stage, you can encounter some bugs, and the UI/logics in here are far from perfect, but the point of releasing it like this is to get some serious feedback. I have a lot of things to implement, but i want to be sure of the direction before investing too much time in it !
Here’s the present functionnalities :

  • Project management through a specified folder, all your bin files will be stored in this folder
  • external bin file system with lock logic : all bins you’re going to create are single external files. Every time a user opens it, a .blck file (blender lock) will be created, preventing other users to make modifications on it (but the bin is still readable)
  • auto save operator : a continuously running modal operator will auto save your modified bins at a predefined time interval
  • media information : using ffprobe (packed in every recent ffmpeg versions), the addon retrieve file informations without having to put it on the timeline
  • comment system : comment are stored in the bin files, you can read other users comment, add some new one…
  • editing operators : the Overwrite and Insert operator (from the Avid Media Composer world) are working, you can with a single click (or shortcut) drag a file from bin to timeline in a precise way, using new In Out point on Timeline from the sequencer UI
  • sequencer UI : thanks to this UI, tracks are clearly identifiable on the timeline, you can rename it, and lock their sync, meaning the Insert operator will keep the existing clips on these tracks synced. There also an In Out points system to take advantage of editing operators
  • simple shortcut file : i added a few of these operators on a shortcut file (install it from user preference) to quickly use these additions in a comfortable way
  • bin backup : in the preferences addon, you can set a number of backup to keep per bins, the saving of one bin will keep old versions every time, until you reach this number
  • bin deleting : when deleting a bin, the external file will be copied to a specific folder in your project folder, keeping it in case this was a user error.

and the roadmap :

  • matchframe system : keep track of your clips from timeline, retrieve it in the bin with a single click
  • auto proxy system : i’m currently investigating for a proper format for proxy through ffmpeg command, and not really use it as a proxy, but as a real editing format (and keep it for exporting the final video, like dnxhd in avid). Importing a file into bin will triggered its automated conversion
  • In Out system for source : the unavoidable topic, i’m currently looking for a good system (ffplay, different scene…) to implement a logic 3 point edit system
  • extension of In Out points on timeline : use in out points on timeline to cut an entire part of your edit for example, and so much more
  • multi threaded export : based on existing solution, triggered blender instances to render part of the video, and a ffmpeg command to stitch all parts together. Export operator would also be a common export helper window, without the hustle of changing options through render properties (change of screen UI…)
  • custom icons
  • other miscellaneous “avid style” operators : replace operator to replace timeline clip with bin clip, “strong man” operator, to get rid of all in out clips on timeline, and “scissor” operator to get rid of in out clips, and fill the gaps, for example
  • Video Audio channels on off : to toggle what the overwrite and splice operator will put on the timeline
  • channel selections : for operators to be more precise
  • user notion : to be aware of who’s using a bin, post a comment… a custom user database would be created in the database folder, and the user could create as much user as he wants in it, accessible through all blender with same addon preferences (the database could be on a server)

And for the addon to work, you’ll need ffmpeg package. Here’s a link to the download page
Hope this addon will help some blender’s editor, and feel free to make a looooot of feedback to make it evolve !

Here’s the Github link

And the Discord server :

3 Likes

and here a (too long) explanatory video about the way the addon work

sorry for my poor english :slight_smile:

2 Likes

Wow. This looks great!! You found a way to add bins and to add channel headers!

I’ve added the path for ffprobe: C:\Users\User\Downloads\ffmpeg-20180121-388a0f7-win64-static\bin\ffprobe.exe

But unfortunately, the ‘Initialize Blender Edit’ button is inactive?

I noticed that this default folder doesn’t exist at startup “C:\Users\User\AppData\Roaming\Blender Foundation\Blender\2.79\config\blender_edit_database”. I added a folder by that name, but the button is still inactive.

[Btw. is EDL Import working for you? I reported a couple of bugs here: https://developer.blender.org/T53615]

Thanks for your interest man ! I think the project hasn t be saved yet, you have to initialize blender edit with a saved project to have it work properly ! Tell me if it solves your problem ! And about the database folder, it s normal, it will be created with the first project you initialize. (But it should be ok if it already exists) I didn t try edl import with the last blender versions, i can t tell you about that, worked well on 2.76 (not sure about the version) with little edits tho…

1 Like

Hmmm, very interseting. Have you seen Easy Logging? http://www.easy-logging.net/ some cross over in ideas?

Hi , thanks for interest, i didnt take a look at new version of easy logging yet, but when i used it before, i didn t find the bin system. correct me if im wrong, easy logging is for derushing purposes, creating some timeline with in out point and annotations ? I m not sure about the cross over you re talking about, do you mean some functions are the same between the two addons ? if so, i ll have to take a closer look at this to see your way of working in blender with all that ! Anyway thanks for reminding me about this good addon ! :slight_smile:

1 Like

amazing work! I’m looking forward to your progress:)

Ahh, I haven’t had to put on my Avid Unity hat for a long time :smiley:

About Easy Logging addon, I believe that you should be able to make edit decisions based on the metadata attached to clips, so it makes pseudo bins or metadata tags for media. It would be nice to attach some more meaning to clips. Like keywords for multiple in/out points on a clip.

Querie: when you import/transcode to your Blender mezzanine codec, does ffmpeg conform frame rate to project FPS? Can I choose preferred frame blend? What if I want the original frame rate?

Suggestions:

  • a text chat window for communicating about bin lock, between project users (not sure if you can allocate read cycles to this)
    e.g. “Hey can you release lock so I can add subclips”, “OK all yours”

  • a way to column sort the bin by variables. e.g. name, color code, date created, duration, type (still, video, sound)

  • allow turning off Video track OR Audio track when using the Overwrite or Splice function. For example this allows you to just use an audio track from a video clip. At the moment I would edit them both in then delete one.

*Hold for later updates

Also your English is better than any other language that I speak (none). Thank you so much

Yes, it did. Thanks.

@comeinandburn
thanks for your interest and kind words ! don’t hesitate to try it and report anything here or on the github ! :slight_smile:

@tin2tin
glad it’s working, in order to create the project folder, blender edit need a project name to avoid the “blender_edit_untitled” problem !

@3pointEdit
thanks for taking time to explain these suggestions ! i didn’t know easylogging read clips metadatas ! i’m going to take a good look at new versions !

about your querry on framerate, yep the idea is to conform everything to the right fps when encoding, but yep it will need an option to keep old framerate to ever work with stop motion footage for example, and another option to set the interpolation via ffmpeg. I’ll see when diving into this part of the addon, but definitly on the to do list ! But in order to keep a good framerate in vse playback, it’s better to keep a consistent framerate, that’s why the default choice would be the project framerate !

About your suggestions :

  • a text chat windows seems a bit overkill for now to me, even if it really is a good idea, but an alternative would be to make an avid style user lock, like when Paul opens a bin, Michael sees it’s Paul that has locked it, and is able to ask him directly to close it for modifications, what do you think ?
  • sort by variables (like type…) yep ! definitly on the to do list ! i forgot it on the roadmap !
  • turning on off video and audio track : same than the previous, i didn’t have time to do it (i’m busy with some boring but paying jobs^^) but need this setting for comfortable editing !
    thanks for all these suggestions man !
1 Like

Just added the .py file to import for getting the blender edit shortcut correctly mapped on the github !

Here they are :

I : set in point
O : set out point

ctrl+I : clear in point
ctrl+O : clear out point

shift+I : go to in point
shift+O : go to out point

shift+numpad+ : put active Video channel to next channel
shift+numpad- : put active Video channel to previous channel

alt+numpad+ : put active Audio channel to next channel
alt+numpad- : put active Audio channel to previous channel

i’m also updating the roadmap, take a look !

  • In Out system for source : the unavoidable topic, i’m currently looking for a good system (ffplay, different scene…) to implement a logic 3 point edit system

The trouble with the one time cursor could maybe be workarounded by using a bit of the timeline way out of the workarea.

Imagine in the monitor you can switch in a checkbox boolean between source and program.

Switching to ‘source’(=open new clip) inserts current active clip in ex. channel 1 at -01:00:00:00, but in the monitor ui it would show 00:00:00:00(by doing the math in the script), then auto set the active area to the duration of the clip. So now the In/Out of the source clip can be set and saved to file.

When switching to ‘program’ the active source clip will be deleted from the time line and the time code will again be shown normally in the UI. Then the user can set in/out in the program and click overwrite/insert active source clip using the in/out data from the saved file.

I haven’t tried it in practice, but it should work in theory. However, markers can’t be used this way, unless they are saved to file too.

Are you going to add some of your Editool goodies to this one, like show SMPTE(could be added to Menu > View > Show SMPTE)?

FWIW I asked about changing UI header color at Stack exchange, just so I could make the switch between source scene and timeline scene more obvious. Perhaps you could call this effect on the same scene header, just to make it look more modal?
That is, the scene UI changes to a dark color for source scrubbing.

Also I know this is contra to Blender keymaps, but how about a Spacebar to play keystroke?

At least in the VSE layout, of course it would need to turn off when changing window layout… hmm maybe it should be confined to timeline and preview window? I can’t tell you how frustrating it is to jump between other NLEs and use AltA to play/stop.

*Harder question: can you think of any portable cross platform app that will listen to Blender audio and present an audio level display? Its a pain that we cannot know how loud the audio mix is on the randomly assigned Audio Volume Strip value.
It seems a shame that we have quite good vision meters but no basic relative audio metering.
All these years and I haven’t been able to think of a solution. All sound handling requires baking values to a project file, which seems a bit of overkill, especially when you are changing them all the time.

Also you may want to build an auto trigger function for the Refresh Sequencer button. A lot of changes to f-curves are not incorporated until it has been pressed by the user. So you can have misleading results when editing effects etc.

1 Like

Good idea. Thanks for sharing


Kinoraw includes an external audio monitoring option: https://github.com/kinoraw/kinoraw_tools but it is through Jack and http://plugin.org.uk/meterbridge/

Apparently, it only works under Linux.

This UI isn’t probably something which can be added through bpy, but needs to be added in C to the main Blender branch. Maybe adding the C code of Jack Meterbridge to Blender could be a (part of) a GSOC project? (For me there would be other priorities higher on the list than this - because audio can be exported from Blender to Audour or to Resolve Fairlight for further editing. Higher on the to-be-hard-coded list would be allowing the Sequencer areas to access a different scene than the one selected in the main header, because that would solve the 3 point editing problem and let the Sequencer control camera switching and scene switching in the 3D View).

Oh no, I wasn’t aware of this :frowning:

@tin2tin did you know that camera switching in the VSE also switched the active camera in the compositor? Sliding switch strips around is much easier than using bound markers.

Also I was wondering if you have seen the Power-Sequencer Addon? https://github.com/GDquest/Blender-power-sequencer

One thing they have done there is improve and update the VSE Transform Tool addon https://github.com/doakey3/VSE_Transform_Tools
Its an exceptional addition to any VSE upgrade, adds a lot of functionality, much more NLE like in operation.

hey guys
@urkokul
thanks for your support ! :slight_smile:

@3pointEdit
yep, changing some color for the source timeline would be great, i’ll think about that when trying to code on this issue !

For the spacebar, i think users can defined this quite simply for now, my keyboad py file is just to have the correct operators in one click to keymap main functions of blender edit, not to have a whole new keymap dedicated to editing (there’s a bunch of them on the web already which look quite decent !)

about the refresh sequencer, i totally agree it would diserves a modal operator, or a handler ! same as before, not exactly my priority right now but i keep that in mind, thanks for the suggestion !

i didn’t take a good look at power sequencer for now, but it seems great according to the few videos i saw about it ! and for transform tools, yep must have ! i use it quite a lot !

the audio visualisation is also a good thing to keep in mind for the future, i saw there’s some possibility without jack (so cross platform) but not with just bundled python libs, have to install some external. I didn’t dig too much about that, but that’s another todo ! and bgl could be a great support for this kind of tool !

@tin2tin
yep agree about the switch between source record through the same timeline, this could be quite easy to do, but in the logic it would be great to be able to have entire timeline in “source monitor” (like easy logging do for example) and be able to take a bunch of clip and put in on a new timeline by one click of a button. I know this is kind of an utopy right now, but i want to keep this logic and not build something wich will work for only this particular case.

And about the editool tools, yep i m planning to integrate a bunch of them (auto proxy, export logic, timecode reaching…) but all is really rough for now, i’ll have to rewrite some things to correctly integrate them in blender edit ! Glad you remembered this addon btw ! :slight_smile:

1 Like

If you want to highlight the selection of an entire channel like for where to insert V/A into channels, you may find inspiration in Pablo Vazquez’ https://github.com/venomgfx/addonitos/blob/master/space_sequencer_channel_tools.py
Use the channel selector to highlight entire channels.


[@3pointEdit On the audio-meters. It seems to be possible to draw it on top of the sequencer, but I don’t know if it is possible to do an instant mixdown and do the metering on the mix-down. The KinoRaw script uses ffmpeg to export a wav which is metered in the external meter-app. And batFINGER uses baking of the audio here for animation: https://github.com/batFINGER/batFINGER-blender-addons Both processes may be too slow for an in-UI meter.

For conventional(Final Cut/Premiere) NLE shortcuts. Have a look at: http://www.paulcaggegi.com/video-editing-using-the-blender-vse/]

1 Like

On a recent Code Quest Q&A I heard that there will be no work on the VSE during the Code Quest. Your work here contains much needed improvements, so I hope you haven’t given up on it?

2 Likes