27
$\begingroup$

When I choose a 'Proxy Render Size' in the properties panel of the preview window then it seems that this is all I have to do in order to boost up the performance of the preview display for playing video. At least it is visible that the resolution changes to a chosen value that seems to match to the chosen proxy render size.

But I have watched a tutorial in which it is explained that I first have to make settings in the properties panel in the sequencer window under 'Proxy/Timecode' > 'Set Selected Strip Proxies'. According to the tutorial the button 'Rebuild Proxy and Timecode Indices' should be pressed then. After that the computer starts to calculate data which takes a moment. It is explained in the tutorial that only after that process is finished one should select the proxy render size in the preview window.

Now my question: What is the difference between both choosing proxy render size in the preview window directly versus making selections in the sequencer's properties first and then choosing proxy render size in the preview window and why do I have to stick to this order?

The Tutorial is 7 - Blender Video Editing (Preview Performance BOOST! [ Video Proxy ]) from Mikeycal Meyers.

$\endgroup$
1
  • $\begingroup$ Blender Video Editing (Preview Performance BOOST! [ Video Proxy ]) youtu.be/KZl1xS9Lmvw $\endgroup$
    – EditLw Ru
    Commented May 1, 2017 at 8:30

1 Answer 1

29
$\begingroup$

This is a great question and actually has a simple answer. For optimal performance, both steps are equally necessary and have their respective purpose:

a) Sequencer: Generating Proxies

The first step is to generate proxies at one or more resolutions. In the sequencer, select the video strip in question and select the Proxy tab from the properties pane on the right hand side (View > Sidebar).

  • If not by default, tick the box in front of Strip Proxy & Timecode to enable the sequencer to use any available proxy that may exist for this clip. This doesn't do anything other than tell the sequencer "hey, if there's a proxy on disk at the resolution requested and enabled below, please use it if any preview window asks for it!". At this stage no preview window is using any proxies yet, this strip has only been enabled to use any proxy on disk as soon as it finds one.
  • Ignore the next two boxes (Custom Proxy > Directory and File), they're there to override the default location of proxies, which is the same folder the sequence is located in on disk, always set to BL_proxy/images/<res>, where res is the resolution of the specific proxy. Blender offers to render at 25%, 50%, 75% and 100% respectively.
  • The next four check-boxes enable the concrete version(s) of proxies to render as well as to use, if available. Select the resolution you wish to generate.
  • Rendering the proxy: Just above, in Proxy Settings, click Rebuild Proxy and Timecode Indices. This will generate and save the proxies to disk. The Storage dropdown can be used to choose where proxies are to be saved.

This done, the proxy/all proxies have been generated and are activated for the sequence/clip. Note that you can untick the proxy check-boxes in the sequence's properties pane to disable the usage (or (re-)generation) of them temporarily - this will not delete the proxy sequence on disk. Any preview window set to using proxies (we'll get there) will resize the sequence/clip in realtime, which is CPU heavy and generally results in poor performance, hence the caching we're doing here.

Proxies have to be generated for each clip/sequence you want to speed-up playback of. Multiple can be selected at once to enable proxy generation & execute render on.

b) Preview Window: Enabling & Choosing the Proxy Resolution to Use

With our clip now being equipped with one or more generated proxies we can ask our preview window to use a specific one and it will do so if a proxy for the given resolution exists and is activated for the clip. Note that this setting is preview-window-specific, meaning we can have more than one preview-window with them using different proxies.

To ask a preview window to use a specific proxy, go to the the sidebar on the right hand side of it (view > sidebar) and in the View tab select the proxy resolution you would like to use from the Proxy Render Size dropdown and enable usage by ticking Use Proxies. This will tell the preview window to a) not use the original resolution (clip/image sequence on disk) but render and the given resolution and b) use the on-disk proxy if available (which we just generated above).

This should now result in much smoother scrubbing.


The order in which you perform the two steps is irrelevant. However, both are necessary to have (a) and use (b) a proxy for a given sequence.

I hope this helps and clarifies how proxies work in Blender!

NB: This is valid for Blender 4.1.1 - some details might be different or missing in later or earlier versions. Feel free to comment and I'll update.

$\endgroup$
8
  • 2
    $\begingroup$ Welcome to BSE. Nice answer! Good going answering an overlooked question. $\endgroup$
    – David
    Commented Oct 24, 2015 at 21:22
  • 1
    $\begingroup$ Thanks for the welcome @David - yeah I couldn't just leave this sitting here unattended. Thought I'd use the opportunity to fill the gap with a (hopefully) complete overview to shed some light onto it for whomever it's a first-encounter with proxies :p $\endgroup$
    – bossi
    Commented Oct 25, 2015 at 1:47
  • $\begingroup$ yeesh. It's taking over an hour to render 25% for a 2 hour raw video (1080p) $\endgroup$ Commented Aug 5, 2017 at 21:26
  • $\begingroup$ How frequently do I need to rebuild the indices? Hopefully not each time I add a new clip to the sequencer? $\endgroup$ Commented Aug 28, 2017 at 1:18
  • 1
    $\begingroup$ Could do with an update for 2.81 - I can't find any of the things required in the current interface $\endgroup$
    – Markm0705
    Commented Jul 23, 2020 at 4:27

You must log in to answer this question.

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