Currently editing a short-movie in Blender (~11min), I did reach some limits of the VSE. Some part of the movie is black and white, and for the first time Blender began to give me "not enough colors" like a gif would do. I never had such a problem with the VSE, and hopefully for me troy_s was able to point out the limits that have the VSE, and the compositor don't.

So here comes the question.

The VSE is limited, but has a timeline. It's almost necessary for me, having to deal with 3 audio strips (4 with music, 5,6,7 ... with sounds) for each video strip. On the other hand, the compositor is much more powerful, but doesn't offer a timeline like editing softwares would. You definitively can't visualize the time of your strips, all time-depending properties would be just number, not quite easy to read and work with.

So what is the best way to manage editing of short-movies or longer movies ? Use the VSE and loosing quality and flexibility ? Use the compositor and loosing any sensation of time, trying to align audio strips without even see the waveform ? Or Blender is really limited for editing and I should learn an editing software ?

up vote 2 down vote accepted

It's a very challenging set of questions. As with any set of questions, the answer depends on contexts. Once you begin looking at the issue of "quality", the solutions are quite clear. The outlines provided below have been with motion picture making since near the advent of film, and continue on to this day in many projects.

It should be noted that you should test your footage in the compositor to see if the result achieves the quality level you need based on your original question. If it doesn't, then the whole following answer may be moot.

So what is the best way to manage editing of short-movies or longer movies?

What is outlined here is loosely what is described as an offline versus online post production process. The terms offline and online here, do not reference internet connectivity, but rather:

Terms

  • Offline: Sacrifice quality for performance in a context where performance is deemed more important than quality. This is typically the design context of tools that require real-time interactions, such as the needs of NLEs with editing where timing and beats is more important than precise float precision correctness.
  • Online: Sacrifice performance for quality in a context where quality is deemed more important than performance. This is typically the design context of tools that require float precision bitwise precise accuracy, such as the needs of compositors and grading software[1].

Use the VSE and losing quality and flexibility? Use the compositor and losing any sensation of time, trying to align audio strips without even see the waveform? Or Blender is really limited for editing and I should learn an editing software?

The problem here is that your questions actually contain the answer. The TL;DR answer is that you should use both.

Outline

For those unfamiliar with how motion pictures typically are broken down in post production, the following is a high level summary. Animated projects have similar overlaps, but the footage is typically iterations of previsualizations. The path typically looks akin to:

  1. Logging. Log the footage that has been shot.
  2. Editing. Loosely can break down into Assembly, Rough Cut, Fine Cut, Final Cut. At this point the picture is considered "locked", and post production work can commence.
  3. Post Production. Sound etc. forks off here. The outline continues to focus on the picture components. All relevant tasks now have a completed, frame accurate blueprint to work from.
  4. Visual Effects. Work done using compositing tools on a frame by frame basis using the highest quality plausible.
  5. Conforming. Essentially taking all of the various "bits", and assembling them back together into the final shape of the motion picture.
  6. Grading. Grade on the final image frames.

At this point the picture can be reassembled back into the original blueprint's shape, and merged with audio, and encoded to various output encoding needs as required.

Visual Effects

So it would seem that you've managed to edit your piece. The question now becomes, how to achieve this sort of quality baseline with Blender?

Use your VSE edit as a blueprint. Sadly Blender's VSE lacks Edit Decision List support. An Edit Decision List is essentially a text file blueprint that is legible to many different applications. There are a number of formats, but essentially they all communicate the structure of an edit without passing around heavy pixels in files, allowing various softwares to reconstruct elements as required, using the precise edit timing of frames etc. So how to get a useful series of frames out of the VSE if we need to manually accomplish what EDLs are used for?

  1. Make sure your media is using the highest quality inputs. Decoding in Blender from codecs will reduce all codecs, even at higher bit depths, to 8 bits per pixel. This is a limitation of the current system. If you decode outside of Blender using a tool such as FFMPEG, you can generate potentially highest quality sources, and then load those as still images in the VSE.
  2. Keep tight organization on your shots. If you have a short that requires 192 shots, and 17 are visual effected, organize those 17 shots into discrete folders with subfolders of the iterations. One subfolder should hold the original archival frames, another with your compositor generated output. In the VSE, you can switch between the versions by re-linking your media to the iterated versions.
  3. Note that where a shot overlaps another shot in your edit, you'll need to effect one, several, or all shots in the overlapped sequence individually. This will require dumping all of the frames for each shot involved in the overlapped sequence. For example, if ShotA consists of 200 frames and dissolves for 30 more into ShotB, which is 70 frames plus the 30 overlapped, you'll want to keep those shots on separate channels so you can dump the full 230 frames (200 + 30 overlap) from ShotA and the 100 (30 + 70) frames from ShotB.
  4. Complete all per-shot visual effects.

Grading

After all visual effects are touched on, you should have an iteration of your motion picture with all archival shots in place, including the newer highest quality visual effects. You can re-link against the same strips and "reconstruct" the final picture. From there:

  1. Keep all temporary effects and adjustments on separate layers. We are only interested in the highest quality archival frames, untouched. Use the timings and adjustment effects as part of your blueprint, perhaps via markers in your timeline.
  2. Export all of the frames for your entire project, with black slugs in between. In the old, dark ages, folks would use junk fill on their workprints when preparing for a negative cut. This approach is similar in that it uses black frames where the current reel isn't being utilized. The key is that each reel is precisely the full length set of frames of your final work and remain perfectly in sync.
  3. Load your picture locked set of reels into the compositor, or utilize scene breakdowns to work on smaller sections. One reel per input node.
  4. You can then use a few mix nodes to reconstruct your edit for grading and proper linearized adjustments for grading etc.

[1] It should be noted that in rendering circles, the terminology is flipped. That is, an offline render is considered the best quality render possible.

  • Thanks a lot for your answer. I never understood how to achieve that and you gave me here a good idea of what it takes. I would have a lot of questions but only one summarize well my concern : is this workflow (rendering the whole movie length with black slugs for each shot into images) the same for other softwares ? It looks like a lot of disk usage and seem a complex workflow. Beside of that, does Blender have all image and video format needed to achieve "perfect" quality ? Or are others softwares better than our beloved Blender ? Thanks again, I really appreciate your effort on guiding me ! – Lutzi Sep 19 at 20:46
  • 1
    Other software can seamlessly flip between offline and online variants, but nothing is terribly perfect. Resolve for example, will auto flip and is pretty performant, but has a challenging reference space to negotiate. Nuke and Fusion can load EDLs, but also have some challenging aspects. Blender could add interchanges via OpenTimelineIO quite easily, which adds support for everything overnight, so the VSE could export markers and strips, and re-construct them in the compositor more automatically. It's a discussion. The answer above has holes. Post any further questions and I'll try to answer. – troy_s Sep 19 at 22:27
  • Ha ha, I go to OpenTimelineIO Docs on the github and find you've already been there Troy :D Do yuo envision the VSE writing a OpenTimelineIO file that the compositor can read and reconstruct? Seems like an ideal thing for the Nodes Everywhere developer to integrate as its fundamentally a database thing. – 3pointedit Sep 20 at 1:13
  • 1
    @3pointedit folks don't quite understand the importance of interchange files. Pixar writing a universal handler should tell you much about just how important they are. In theory, being able to construct timelines for export into other software, or across areas of Blender would be a huge win. – troy_s Sep 20 at 4:45
  • @troy_s : Can I use the compositor to extract my video files (.mts) to images, or should I use FFMPEG for that ? I feel you're saying the compositor uses floats, but at the same time that decoding inside of Blender reduces to 8 bits ... And I asked another question about audio, if you're willing to guide me about it. Thanks again for your help, I would never found such precise answers about my concerns. Thanks ! – Lutzi Sep 21 at 11:16

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.