15
$\begingroup$

I have a video (720p) that is 37 minutes long, with a bitrate of ~3000kb/s.

This video is a game recording, so 37 minutes worth of this footage was written in 37 minutes, while other extremely CPU, GPU and hard-drive intensive operations were occurring.

If the recording program can record and output at the same rate as is being played, I don't understand why rendering with blender at the same exact settings, same codec, same container type, same bitrate and size, the only difference being that I removed about 4 seconds from the beginning, is going to take 5.3 hours to render.

I've disabled every feature under user preferences that are said to increase performance, I disabled rendering of the 3D scene (which is empty anyways). I set the sequencer memory cashe limit higher, I've increased the number of prefetch frame which is supposed to help with multicore rendering.

What else can I do to make the rendering faster? I've used blender for years for 3D, and I'm getting into recording videos for YouTube, all the good programs for video editing are very expensive. But those programs can render 37 minute videos in 10-20 minutes, not 5.3 hours. I don't understand why it's so slow, it's so slow to the point it's unusable.

Replies to Comments

@user277143: My guess: try increasing the cache of blender itself too (alongside the Sequencer's cache). Also, having meshes in the scene will cause them to be reloaded for every frame. That can cause problems. So, go to the 3D-view and delete everything. Also, off topic, check the resolution multiplier in the render settings. I have screwed up many sequence renders by having it at 50%.

I have already done the cache of Blender as well. I already have nothing in the 3D scene, and I even have that entire render layer disabled in the outliner.

@gandalf3: Related:

I've seen all of those, none of them provide any help that has altered the result. Those issues were due to bugs, or a settings issue. In the past I've been able to render at around 50-60 outputted frames per second, so rendering a 30 minute video in 15-18 minutes. Only in the last 3 weeks has this started to take this long, so there is a way somehow to speed it up, and I haven't touched any settings on the program.

$\endgroup$
  • $\begingroup$ My guess: try increasing the cache of blender itself too (alongside the Sequencer's cache). Also, having meshes in the scene will cause them to be reloaded for every frame. That can cause problems. So, go to the 3D-view and delete everything. Also, off topic, check the ressolution multiplier in the render settings. I have screwed up many secuence renders by having it at 50%. $\endgroup$ – Mörkö Sep 16 '15 at 5:58
  • 1
  • 1
    $\begingroup$ Have you recently checked Antialiasing? It needs quite some performance. Is your input and output resolution the exact same? Scaling every frame takes time as well. When you Crop/Offset your footage, will it move our stay at its place? Does this help? Is your footage on a fragmented hard drive? Can you unchecked Compositing in your Render Settings? Have you tried a test render in a fresh factory reset startup file? Try upgrading to a recent build as there have been some VSE performance improvements lately. $\endgroup$ – Samoth Jan 22 '16 at 23:59
  • 1
    $\begingroup$ @cegaton yeah, I'm aware, I don't use it anymore really for videos. However my confusion still exists. The Blender Foundation Open-Movie projects have all been 100% Blender except the audio design. Modeling, Animation, Rendering, Compositing, Sequencing, etc, all done in Blender. If the Blender Foundation themselves is using the sequencer for such, why would they not spend time optimizing it. they stated in the past that the Open-Projects are to use Blender for a real-world project, specifically to see what parts of it need to be further developed or added to. So why is is still so slow, idk. $\endgroup$ – D3_JMultiply May 27 '16 at 23:10
  • 1
    $\begingroup$ Although at the same time, the issue with distribution formats occurs mainly when dealing with changing position randomly, and less when exporting. Distribution formats are made to be compressed, but fast to read when frames are being read in sequence, being played back. And in rendering, it should be able to work the same, only instead of playing the frame back, exporting it to a file. But if Blender was designed to work with Intermediate file formats, then depending on implementation, delivery formats (like MPEG-4 formats) may suffer in performance. I'll check into this theory. $\endgroup$ – D3_JMultiply Jun 1 '16 at 1:04
2
$\begingroup$

Keep UI

  • render with "Keep UI" option in the Render properties panel under Display (Just don't let blender display the rendering process in any window.) That was a noticeable speed up for me.

Multicore rendering

  • use one of the available scripts for multi-core rendering. Basically a script that opens as many instances of Blender as you have cpu cores or as many as you specify. (Blender use for VSE render only one core of CPU by default. So even with a two core processor you get only half the render time. If you have an 8core CPU it would be great speed boost for you.)

Parallel Render - Addon, simple to use, but it generates separate movie files - one for each blender instance (that runs on each core separately). After download, installation, enable ... you run this script with SPACEBAR search, type "parallel ..."

enter image description here

video_editor_render_script - A python script whit it you need to arrange a few things first, but then it's a ONE-CLICK option with one animation file. (Namely -download also ffmpeg and specify paths to blender and to ffmpeg in the script. Just follow instructions. In general it also generates separate files for each core first, but than use ffmpeg to merge them in one file.)

$\endgroup$
0
$\begingroup$

Try creating a proxy to reduce the load on your system.

If that doesn't work, there isn't much more you can do. Blender was not designed for video editing, it was an afterthought. Therefore it lacks certain things (like fast scrubbing through clips) that other software packages have (Vegas, Premiere, FCPX, etc).

I'm probably not explaining this very well, but what I'm trying to say is that Blender was designed as a 3D modelling and animation application, not a video NLE. Therefore it's performance in that department is severely lacking. I tried editing gaming footage in Blender and the VSE was just so painfully slow even on a high end system. It was a real shame.

$\endgroup$
-1
$\begingroup$

You can't do a straight comparison of a game to a Blender render,
because a lot of the procedures that Blender does,
have already been done before you get your game.

Essentially the game has had textures pre-baked with bump-mapping,
normals, levels-of-detail to reduce polygon count in the distance...

The game has optimized framerate by doing all those steps beforehand.

$\endgroup$
  • $\begingroup$ This is an older question and you misunderstood. I know games do lots of stuff beforehand, but what I'm stating is that A game has to load more textures into memory, has to physically render 3D geometry, perform shading, handle inputs, etc. All the blender sequencer is doing during editing a video vile is reading in an array of bytes as pixels and outputting an array of pixels, and in my case wasn't even performing any operation on them other than discarding the frames I cut out. The point is that what a game does is many times more intensive, and yet it still outputs more. $\endgroup$ – D3_JMultiply Mar 22 '17 at 4:59
  • $\begingroup$ I would understand Blender being slow is I was adding effects or rendering 3D geometry onto the sequencer, but I'm not, Blender is simply not optimized, considering pretty much any video editor can output frames literally tens of times faster, Blender is running some routine that it doesn't need to for what I've given it to process, that's an inefficiency. Last of all, I was never comparing the game output to the video editing output, I'm saying the recording software I use can read the screen and output at 30 fps, but Blender, doing less work, can't even get 10 frames outputted per second. $\endgroup$ – D3_JMultiply Mar 22 '17 at 5:03

protected by David May 17 '17 at 13:49

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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