VSE + compositor?

Hi everyone!

I use the blender video sequencer editor for cutting my videos. There are some disadvantages of course, but It’s still the best i’ve found for linux. All the color correction, transitions, etc work fine, but i’d like to use one more effect that is available only in the compositor: the lens distortion. (not the new that came with the camera tracker, but the old, simple one) It gives a pretty nice effect for my gopro videos, and animating its strength is really cool.

I know, there are other threads talking about it, but most of them are quite old, and none of them really solved my problem. So do any of you know a way to use effects from the compositor on the VSE strips?
Currently my workflow is: when i’m ready with the video editing (cut, timing to the music, color correction, etc), i render out a .png sequence. That i can use in an other .blend file in the compositor, i add the lens distortion effect, and render it out again, to an other .png sequence. After that i go back to the previous file and add the new distorted sequence in the vse. So when i render the whole movie, the sounds are on the video. It works, but very time-consuming.

A while ago i’ve read that developers don’t even want to combine the two tools, but do you think it’d be possible to make a script which imports that lens distortion effect to the vse’s modifiers? Or any other way to make this workflow a bit shorter (or any other video editor that is as powerful as the vse)

Thank you in advance!

1 Like

I’m working currently on a video edit with Blender. I’m trying to use the ‘2D stabilize’ node on my movie clips and I’ve done it this way:
I’ve created a separate scene for each movie clip. Then I’ve imported the files on Movie Clip Editor, done the stabilation and applied it in Compositor. After this I’ve created one more scene for editing the other scenes into one movie. The advantage is that I can do it all in one .blend -file but the disadvantage is that I don’t know how to get the program to use proxy movies of the scene with compositor.

My point is that you don’t have to use separate files and you can just use separate scenes instead. Just be sure you check the ‘use sequence’ on render properties of the scenes that have the original movie clips.

My hope is that some one knows a way to get proxies of Compositor-scenes on VSE timeline.

Lähetetty minun SM-A300FU laitteesta Tapatalkilla

Actually, setting up all the necessary nodes in one scene and the copying the scene for each of the movie clips will make the work easier.

Lähetetty minun SM-A300FU laitteesta Tapatalkilla

I think that’s better to separate the two tools.
If you want to add some effect with the compositor, do it in with the compositor and render it. Then import the result into the VSE, it will be a lot easier to manage and a lot faster to edit and grade in the sequencer.

Thank you for the answer!

It’s a great idea! Still more complicated than it could be, but better than nothing. I’ll give it a try.

It would be easier with a little amount of initial footage. But i usually have many videos, it simply takes too much time and effort to make it that way. Also, since i animate the distortion effect, i need to know when and how should i do it, and that can’t be done before cutting :confused:

I agree with Tekergo that it is too cumbersome to edit and render the Compositor parts before cutting the whole thing together in VSE. Especially if one works in a back and forth manner while searching for the most appealing cut/fx combination. To me, a way to proxy the Compositor of one scene added on the VSE of another scene, sounds like a good solution, since junping between scenes within one file isn’t that time consuming but there might better solutions still.

Lähetetty minun SM-A300FU laitteesta Tapatalkilla

Hmm. While thinking about this, I’m starting to agree with VincentG. Using Compositor can make the strip really heavy and impossible work with in VSE due to playback slowness. I’ve been so excited about the thought of using proxy files that I hadn’t thought that I can control the quality of the renders and kind of make my own proxies. A couple of questions have arisen:

  1. Is it possible to do a batch render to render all scenes at final quality after the final version has been aproved?
  2. If I use multiple parts of a single file, what is the easiest way to send the timecodes of the parts (beginnings and durations) back to the Compositor-scene or do I have to do it manually? My point being that it is not efficient to render the whole Compositor-scene when only parts of it have been used?

Lähetetty minun SM-A300FU laitteesta Tapatalkilla

Would this work?

  1. Set a scene to render only Compositor
  2. Import a movie file to Compositor through Movie Clip editor and render it out as (low/preview quality) image sequence.
  3. Import this sequence back into the same scene’s VSE. One could also import the sound of the original Movie Clip if necessary
  4. Repeat steps 1-3 for each Movie Clip
  5. Create one more scene for editing
  6. Add all other scenes into the last scene’s VSE but using the ‘Use sequence’-option found i the VSE’s.

My idea is that this way one might be able to control what frames need to be rendered at the best quality. For this to work, a couple of things should happen

  1. The ‘Use sequence’ -option in VSE’s clip settings should bypass the other scene’s render settings and just take whatever is on that scene’s VSE-timeline.
  2. There should be a command that sets up a scene’s rendering starting and ending points based on how it is used on some other scene’s VSE.
  3. If some scenes have multiple instances on the editing VSE, it might be easiest to arrange that some button creates a duplicate scene for each instance but with different starting and ending points. Although there is a danger then that one end up with way too many scenes to handle. A probably more difficult to program but eventually clearer solution might be the possibility to render out small sets of frames of a scene (for example 1-6, 8, 15-34, 90 and 105-116). So all of the necessary frames of a certain movie clip would be gathered in one scene even if they were scattered all along the final edit.

Yeah, it could probably work. i’ll try it! But still a pain in the …

What would be awesome is to somehow implement that distortion (or any other) effect in the vse. Like a modifier add-on, or just an other effect like the gaussian blur.
Unfortunately i don’t know scripting, but maybe it wouldn’t be impossible to grab the node script of that effect to the vse tools and modify it a little to work there. (it’s probably stupid though)

At the moment I’m trying to implement my suggestion too. The initial idea seems to work but it is indeed quite tedious. On the other hand I get to use Compositor’s 2D stabilizer and Filter: Sharpen nodes. I’m doing also colour correction at this point. One problem is that I’m not getting the 2D stabilizer to work properly but that’s another topic. One problem I’ve encountered is that using the scaling of the render resolution on Render > Dimensions scales up the Compositor output in a way that only a part of the image is visible in the rendered file.

I’ve also started to try and make a script that allows me to set the start and end points of the frame range on the scene with the Compositor. This way only those frames that are actually used in the final edit would have to be re-rendered with better quality. I know some coding but not in Python, so I’m not all convinced that this will happen though.

I can’t try it out right now, but maybe you can solve the image scaling problem using a scale node that is set to render size. But this workflow is so crazy, i don’t know if it will work or not. I’ll try it out probably tomorrow, hopefully we’ll figure out something useful :slight_smile:

Technically it works but it is quite tedious. At the moment I’m wondering if the placeholders-toggle that is found both on the scene render-tab and in the VSE image import could be used here somehow. I’m also pondering if the original footage should be imported on the VSE timeline of the Compositor-scene. This would allow one to start editing faster.

Any one reading this conversation should probably read also this one:
https://blenderartists.org/forum/showthread.php?t=417977

The instructions troy_s gives there are quite the opposite I’ve written here but he sounds way more advanced.

Lähetetty minun SM-A300FU laitteesta Tapatalkilla

Oh i’m sorry, i replied and it seems it didn’t send it (i was wondering, why aren’t you replying for so long…)

So… I did quite a few tests, but i think it won’t be too good no matter how we twist and mix scenes.
The problem is, if i use an other scene in the vse (no matter what’s in that scene), it’ll make rendering way too long.
For example if i render a normal vse strip, a frame takes about 0.01 seconds to be done (~0.04 with color correction), but if there is an other scene in the vse, one frame is about 0.5 seconds. It doesn’t sound too much, but with this video, which is not even 3 minutes long (at 60fps), it took almost 2 hours to render. And even if i reduce the resolution, it takes just as long. Therefore i won’t be able to make low quality test renders.

So the best way currently is: make a final cut with color correction and all, save a png-sequence from it, import that in an other scene of compositor nodes, then put that back to the vse over the old strips. Just make sure the timing is right.
For example, here’s what it looks like:



You could save a little time (about .1 seconds per frame) if you cut that scene strip out when there weren’t any modifications on the video with the nodes, but here i reduced the saturation a bit on the whole stuff, so i left it there.
Also, hiding the unused strips make it a little faster too, but nothing significant.