6

I have an animation of which I want to render specific frame ranges, such as frames 100 through 340 and frames 765 through 1092.

I saw on another Blender StackExchange question that you can render specific individual frames with the command line, but I need to render frame ranges.

Is there any way to do this?

RobotUnderscore
  • 761
  • 3
  • 11
  • 29

3 Answers3

5

Command line render options

Remder options displayed by running blender --help in the system console

Render Options:
-b or --background 
    Run in background (often used for UI-less rendering).

-a or --render-anim 
    Render frames from start to end (inclusive).

-S or --scene <name>
    Set the active scene <name> for rendering.

-f or --render-frame <frame>
    Render frame <frame> and save it.

    * +<frame> start frame relative, -<frame> end frame relative.
    * A comma separated list of frames can also be used (no spaces).
    * A range of frames can be expressed using '..' separator between the first and last frames (inclusive).


-s or --frame-start <frame>
    Set start to frame <frame>, supports +/- for relative frames too.

-e or --frame-end <frame>
    Set end to frame <frame>, supports +/- for relative frames too.

-j or --frame-jump <frames>
    Set number of frames to step forward after each rendered frame.

-o or --render-output <path>
    Set the render path and file name.
    Use '//' at the start of the path to render relative to the blend-file.

    The '#' characters are replaced by the frame number, and used to define zero padding.

    * 'ani_##_test.png' becomes 'ani_01_test.png'
    * 'test-######.png' becomes 'test-000001.png'

    When the filename does not contain '#', The suffix '####' is added to the filename.

    The frame number will be added at the end of the filename, eg:
    # blender -b foobar.blend -o //render_ -F PNG -x 1 -a
    '//render_' becomes '//render_####', writing frames as '//render_0001.png'

-E or --engine <engine>
    Specify the render engine.
    Use -E help to list available engines.

-t or --threads <threads>
    Use amount of <threads> for rendering and other operations
    [1-1024], 0 for systems processor count.

The following command renders (render animation) frames 1 to 4, then 10 to 11 of file scripttest.blend

blender -b  some.blend -s 1 -e 4 -a -s 10 -e 11 -a

To render every nth frame set the jump value. Following command renders every second frame of first hundred, every third frame of second hundred frams

blender -b some.blend -s 1 -e 100 -j 2 -a -s 101 -e 200 -j 3 -a
batFINGER
  • 84,216
  • 10
  • 108
  • 233
  • Note that it's important that the argument -a follows -s and -e otherwise it won't work. – enyo Aug 20 '22 at 14:28
3

Blender has many command line options, the two you are looking for are --frame-start and --frame-end (short versions are -s and -e).

blender -b myanimation.blend -s 100 -e 250

You can always see blenders cli options with blender --help

sambler
  • 55,387
  • 3
  • 59
  • 192
0

I just Googled this, then solved it myself much easier. Just set your animation timeline In & Out points to the range you want and hit CTRL-F12 (Windows)