19
$\begingroup$

I would like to be able to render several files one after the other, when I am not using my computer, e.g. at night. Is there a way of doing this?

$\endgroup$
  • 1
    $\begingroup$ possible duplicate of Is there a way to batch render multiple scenes? $\endgroup$ – Aldrik Jun 29 '13 at 9:55
  • 1
    $\begingroup$ @Aldrik they are a bit different IMO. One is asking about different files, the other is about scenes in a file. $\endgroup$ – iKlsR Jun 29 '13 at 13:12
  • $\begingroup$ @iKlsR I did notice that, and it's normally good to point out the difference. But the procedure is much the same and both are covered by answers in the other question. $\endgroup$ – Aldrik Jun 29 '13 at 14:48
  • $\begingroup$ @Aldrik yes, we cannot help that, but for now, it's ok and best to keep them separate. We can't mark as dupe as the titles and intentions are different and we can't merge them because not all the answers apply to both questions. $\endgroup$ – iKlsR Jun 29 '13 at 14:50
  • $\begingroup$ I'm actually working on an​ application to do this. $\endgroup$ – LetTheWritersWrite May 25 '17 at 0:06
15
$\begingroup$

Sounds like a job for Command Line Rendering. Sounds intimidating if you've never done it, but it's a simple matter of stealing someone's template and adjusting the parameters:

Windows: blender -b "C:\path\to\file.blend" -x 1 -a

Linux/Mac: blender -b "/path/to/file.blend" -x 1 -a

That's the simplest form of it which will use all the settings in the blend itself. To make a cue of it, simply put '&&' between the commands:

blender -b "C:\path\to\file.blend" -x 1 -a && blender -b "C:\some\other\project.blend" -x 1 -a && blender -b "C:\yes\another\one.blend" -x 1 -a

To adjust settings like start and end frames, path of the outputed images/video, whether to render the animation or a single frame, check out the wiki page on Command Line Rendering.

It's also useful to tell it to shutdown your computer when it's finished simply by adding this at the end:

Windows: && shutdown /s /t 0

Linux/Mac: && sudo shutdown -h now

And here's one with start/end frame set, output path and format and shutdown when done:

blender -b "C:\En Passant\08-08\shots\s1\awake\awake.blend" -x 1 -o "C:\En Passant\bear_render\awake\img_#" -F PNG -s 119 -e 150 -a && shutdown /s /t 0

Note that if it doesn't recognize the 'blender' command, you just need to cd into the directory of the blender executable before it'll understand you. E.g:

Windows: cd "C:\Program Files\Blender Foundation\Blender"

Linux/Mac: cd "/home/user/Downloads/Blender"

$\endgroup$
  • 1
    $\begingroup$ All these commands are for Windows - if someone has the linux and mac versions please edit this answer. $\endgroup$ – Greg Zaal Jun 29 '13 at 8:00
  • $\begingroup$ thanks for that, yes it's intimidating. :) I used to program in Basic back in the early '80s and now I only use a Mac! $\endgroup$ – SteveW Jun 29 '13 at 9:47
  • 2
    $\begingroup$ I think the commands work on Unix systems too, except, instead "C:\path" you write somthing like "/Users/[yourusername]/Path/To/File.belnd". $\endgroup$ – Róbert László Páli Jun 29 '13 at 15:24
  • $\begingroup$ Yes, almost the same except for the commands marked "windows only" when you run blender --help $\endgroup$ – gandalf3 Jun 29 '13 at 20:27
  • $\begingroup$ This appears to be what I'm looking for, I'll have to do some experimenting. Thank you. $\endgroup$ – SteveW Jun 29 '13 at 22:03
4
$\begingroup$

The Brender renderfarm addon to Blender allows you to queue multiple renders, both from within the same file and from different .blend files. You can download the most recent version from this site.

The installation procedure is a little complicated, but once you have it set up, all you have to do is press the "New Job" button in the Render menu.

$\endgroup$
  • $\begingroup$ This looks great, although I must admit it looks a bit too advanced for me at this stage! :) $\endgroup$ – SteveW Jun 29 '13 at 22:00
2
$\begingroup$

First see documentation on Blender from the command line

Once you can run blender --version. You can then setup a queue.

You only have to launch blender once, then pass it all the files you want to render.

blender --background foo.blend -a  bar.blend -a  baz.blend -a

This renders (foo.blend, bar.blend, baz.blend).

You can pass other arguments such as setting the output path or number of threads, be sure to position these after the blend file and before the -a.

This example uses the number system threads and reads to //path_to_render.

blender --background foo.blend -t 0 -o //path_to_render -a
$\endgroup$
0
$\begingroup$

I just finished writing a little Python app because I got sick of writing the same command line options over and over again to accomplish this. Feel free to use it.

http://blenderq.readthedocs.io/en/latest/index.html

$\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.