6
$\begingroup$

System Specs:


  • Intel i7 930 @ 2.80Ghz
  • 16 GB DDR3 Gaming RAM
  • 64-bit Windows 7 Ultimate
  • Nvidea GeForce GTX 780
  • 1 TB Western Digital HDD (non-SSD)

Blender Settings:


  • Audio Dev: SDL
  • Compute Device: CUDA GeForce GTX 780
  • OpenSubdiv Compute: OpenMP
  • Memory Cache Limit: 10240
  • Anisotroptic Filtering: off
  • VBOs: ENABLED
  • Window Draw Method: Automatic, No MultiSample

So I have been using blender for youtube video's I've been making, since I need a free/open source video editor. I've been rather satisfied with the editing itself. With the rendering however, I have not.

I have rendered a 40 minute video in both Blender, and Adobe CS5 Premiere.

Video Specs:


Settings used for BOTH blender AND Premiere

  • 1 video imported
  • 2 images (intro & outro fade)
  • 1 music track (outro for about 15 seconds)
  • Audio Codec: AAC (same as source)
  • Audio Rate: 192 kbps (same as source)
  • Stereo Audio (same as source)
  • Resolution: 1080p (same as source)
  • Framerate: 60fps (same as source)
  • Video Codec: H.264 (recorded in x264)
  • Video Rate: +-8000 mbps (same as source)
  • Format: MPEG-4 (same as source)

Blender Specific:

  • GOP size: 30
  • Tile Size: 256x256 (seemed to be the fastest?)
  • Start Resolution 64
  • Output: Xvid

What I found was fairly displeasing.


Blender takes up to 6 hours to render the video, and produce a file of about 2.5 GB.

Adobe Premier takes about 1 hour to render the video, and produce a file of about 1.9 GB.


Both programs I have configured to the best of my abilities to fulfill the recommendations set by Youtube/google, which can be found here: https://support.google.com/youtube/answer/1722171?hl=en

Not only this, but whilst monitoring my components, I found the following things:


Blender uses 5 GB of RAM, about 20% of my CPU and about 5% of my GPU.

Premier uses 2 GB of RAM, about 75% of my CPU and about 1% of my GPU.


So my question is: Can I configure blender in a way that it performs more favorably? (like Premiere)

I can accept it if it renders for say 2 hours, but if you take over 5 times as long as is required (apparently), then that definitely means I'll not be continue using blender for editing video's.

$\endgroup$
15
  • $\begingroup$ That might really depend on some more facts. Did you use the same Codec and the exact same settings for it in both programs? And in which container format did you encapsulate your final video? Not using too much CPU is not a proper comparison point as the GPU might be used as well or instead. And is the output really the same quality? I doubt it, even if it looks alike... $\endgroup$
    – Samoth
    Nov 17, 2015 at 22:28
  • 1
    $\begingroup$ Related questions: blender.stackexchange.com/questions/27007/… and blender.stackexchange.com/questions/7738/… $\endgroup$
    – Carlo
    Nov 17, 2015 at 22:44
  • 4
    $\begingroup$ I suggest you stick to premiere for video editing and rendering. The VSE is a nice tool attached to a 3D rendering environment... but is nowhere close in terms of performance to applications devoted to video editing only. $\endgroup$
    – user1853
    Nov 18, 2015 at 5:25
  • 2
    $\begingroup$ Pls don't use Blender for video editing. I would even say it's unusable. Keep using Premiere or if you want a free solution look at Fusion. $\endgroup$ Nov 18, 2015 at 8:10
  • 2
    $\begingroup$ @Jerryno Fusion is a compositor not a NLE. I think you mean Resolve, right? $\endgroup$
    – p2or
    Nov 18, 2015 at 10:40

2 Answers 2

1
$\begingroup$

TL;DR: No, because the Blender VSE is single-threaded.

I haven't done a code dive, but what it looks like Blender is doing is serially feeding each frame through its respective pipeline then into the encoder. That means the only time Blender will multithread or use GPU when rendering video is if a specific frame uses a pipeline that multithreads.

You'll find this is also true of proxy generation. Rebuilding proxies in Blender will always single thread.

For my workflow, I've gotten around this bottleneck by making use of a chunking and stitching method similar to bpsrender.

$\endgroup$
-1
$\begingroup$

You should look into this, it enables blender to use more of your CPU. Detailed instructions in code.

https://github.com/mikeycal/the-video-editors-render-script-for-blender Mikeycal made a python script that splits the video file into as many pieces as you have cpu cores so each core can work on a piece. At the end of the rendering, it assembles the pieces back together. I was getting almost twice as fast renders using the script.

$\endgroup$
1
  • 1
    $\begingroup$ Link only answers are discouraged here, if the link goes down your answer becomes empty. Please add a short explanation of how and why this solves the issue, and what the link does. $\endgroup$ Nov 30, 2017 at 16:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .