Skip to content
Krzysztof Trzciński edited this page Nov 17, 2018 · 6 revisions

Parallel Render

This is a small script that is meant to help with VSE renders. As Blender does not support multithreaded sequencer renders it is a bit annoying when you have multicore system and only one of those cores is working on rendering your video (note: using this addon for 3D rendering is most likely pointless as Blender fully supports multithreading in that).

Concept

The idea behind how the script works is pretty straightforward. It is based on assumption you can just split your VSE sequence into segments that can be rendered in parallel. Then it starts multiple Blender instances in background and renders in each of those a separate part of sequence.

This addon allows for easy specification of how many parallel instances of Blender you want working at the same time (usually you want as many as many logical cores you have) and into how many (or how long) chunks you want to split your sequence to.

You might be thinking that if you have N cores and want to utilise all of them then you only want to split your sequence into N chunks (one for each instance of Blender). However having more chunks can have few advantages:

  • If something crashes (or you want to stop mid project) you can have all rendered chunks. Later on you can simply continue with rendering only parts you're missing (to do so uncheck "Overwrite existing files", this will render only files that are not in the output directory)

  • If one section of video is particularly CPU intensive all instances of Blender might finish long time before the one that was unlucky to get the complex part. Having multiple chunks for that sections dynamically allocates new section to idling Blender instances.

Configuration

In File -> User Preferences -> VSE Parallel Render you can configure default values.

preset

FFmpeg executable path can be left empty, however this will disable ability to concatenate produced files into one. You can get that binary from https://www.ffmpeg.org/ or use any other means to install it (Linux distributions will have it in their package managers).

Usage

Once you have you sequence VSE project ready and saved to a file you have to configure the output.

preset

Then select output directory, movie format, and configure parallel rende roptions.

preset

Once that's done press space on Sequence timeline and search for "Parallel Render"

preset

or select "parallel render" from "Render" menu:

preset

As described in above section you have two specify:

  • Number of instances of Blender that will be working in parallel (exceeding number of your cores most likely doesn't make sense, going below does if you want to work on you computer while render is in progress).

  • Number or length of sections to be rendered at once. If you specify number of sections your sequence will be evenly split. If select "Fixed" there will be as many sections as are needed to cover you sequence that are of length at least "Number of frames".

  • Whether you want the renders to overwrite matching section files in output directory or not (i.e. if something crashed and you want to continue deselect this option and all already rendered strips will not be touched)

  • Whether you want to automatically produce mixed down soundtrack (especially useful if you are concatenating output too)

  • Whether you want to concatenate output files into one file. If mixdown is enabled it will also include sound. Please note that upon successful concatenation all segment files and mixdown file will be removed.

    See Configuration on how to get this option enabled (you need to configure FFmpeg executable path)

Once you've configured all of this you can click on "OK" and track the progress in status bar at the top:

preset

And once everything has completed you should see your strips in the output directory:

preset

Above is a view with "concatenate" disabled. If "concatenate" is enabled you will only get one file with complete video.

Clone this wiki locally