2
$\begingroup$

There is a lot of info on how to speed up 3d rendering, but not for standard video as I'm starting to use it.

I'm doing just a few crossfades, mastered audio done in another program, with 1920x1080 resolution of about 1 hour of video at 60fps.

This is pretty high quality video, so I understand it would take a bit to render.

However, to render to H.264, it took 6 hours.

Is there anyway to reduce this? I would do lossless, but that takes nearly a terabyte of space.

Note, my encode settings are a bit rate of 8000, 60fps, 30 GOP, and 384 audio AAC.

$\endgroup$
  • $\begingroup$ Rendering from the cli using the background option can free up some ram and skip un-needed gui updates. In preferences->system there is a memory cache limit for the sequencer that might help. $\endgroup$ – sambler Nov 12 '14 at 8:53
  • $\begingroup$ Also, if you have multi-processor system I found that Blender does not utilize that very well. What I found to help was to open i.e. 4 instances of Blender (I have 8 logical cores) and render in parallel different parts of movie. Then you can stitch them with something like avidemux. $\endgroup$ – elmo Nov 12 '14 at 9:54
  • 1
    $\begingroup$ You're probably also limited by your HDD and RAM speed. $\endgroup$ – Greg Zaal Nov 12 '14 at 12:58
5
$\begingroup$

Lots of speculation, so I decided to do some some tests on the sequencer performance:


Performance Options

Global Prefetch set to 30frames, 4096MB of cache, AVI JPEG 50% quality: 2m28s

+ UI Locked and no image Display: 2m28s

+ Sound track caching, MPEG seek per-track set to 60 rather than 25: 2m28s

+ Immediate re-render, to test for effect of disk caching: 2m28s

Conclusion 1: Surprisingly, none of the performance-enhancing options seems to do anything.


Encoding Options

Same setting as above, AVI JPEG: 2m28s

+ Encoding set to Quicktime H264 @ 50% quality: 4m08s

+ Quicktime H264 @ 75% quality: 4m02s

+ Quicktime H264 @ 95% quality: 4m11s

+ Encoding set to FFMPEG H264, H264 Preset @ 600kbit: 8m18s

+ Encoding set to AVI RAW: 1m58s

Conclusion 2: The encoding engine makes a huge difference in speed. AVI RAW is the fastest if you have the disk speed to back it up. FFMPEG H264 is the slowest.


Quality Options

+ With antialiasing, AVI RAW: 1m58s

+ without antialiasing, AVI RAW: 1m18s

Conclusion 3: Antialiasing makes a difference, but the quality loss is huge, especially when all the input clips have different resolution.


Test Details:

Scene used: 2000 frame long sequencer with 6 different 720p MPEG4 video input, 3 1080p PNG sequence inputs, dozens of images, dozens of transitions, 1 audio track. Output is 720p with Antialiasing.

Test Methodology: System is restarted after each test, so the effect of disk cache is minimal.

Test system: 2.2Ghz i7 Macbook Pro, 8GB RAM, Radeon HD6750, 500GB SSD

| improve this answer | |
$\endgroup$
1
$\begingroup$

Unfortunately, there's not much you can do. Tweaking the settings to reduce quality might help some, but not much. You can reduce the number of frames you render by changing the frame rate that you're rendering to (30fps is more work than 24fps), but that may not be an option if it doesn't give you the result you want.

The problem is that this kind of rendering is a really simple, relatively brute-force process, so there aren't many opportunities to optimize on the user's end.

The main things you can do to speed thing up are hardware related. Defrag your hard drive so access times have the opportunity to be shorter (only applies if the files you're accessing are fragmented). More RAM will make it easier to fit all the relevant files in RAM instead of virtual memory. A faster hard drive will make virtual memory faster and will make loading files faster. A faster processor will make the calculation of cross-fades and other effects faster (as well as all other operations).

Beyond that, it'd be interesting to do some benchmarks to see if there's any difference between the same quality settings for various codecs. I can imagine that some codecs require more processing than others, but I have no way to make any guesses about which are faster.

Incidentally, I recently did a job making a 4-min animation and it took about 30 minutes to render all the raw frames into a single video (with a whole bunch of cross-fades and whatnot). So it doesn't seem like your times are unusual or unexpected.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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