21
$\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$
  • $\begingroup$ Blender Video Editing (Preview Performance BOOST! [ Video Proxy ]) youtu.be/KZl1xS9Lmvw $\endgroup$ – EditLw Ru May 1 '17 at 8:30
26
$\begingroup$

This is a great question and actually has a simple answer. 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 sequence in question, scroll down in the properties pane to the right to the Proxy / Timecode section.

  • Tick the box in front of the title Proxy / Timecode to enable the sequencer to use any available proxy that may exist for this clip. This doesn't do anything other than telling the sequencer "hey, if there's a proxy on disk at the resolution requested and enabled below, please use it!". At this stage no proxy resolution has been enabled, only the conceptual usage of a proxy if it was enabled on this clip (and the corresponding proxy sequence found on disk).
  • Ignore the next two boxes (Proxy Custom Directory and Proxy Custom File), they're there to override the default location of proxies, which is, relative to the location of the original sequence 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: In the Video Sequence Editor select Strip -> Rebuild Proxy and Timecode Indices while you still have your sequence/clip selected. To the right in the menu bar of the VSE you should now see a progress indicator showing the state of the proxy generation. If you now look into the folder where you have your original sequence (or movie clip) you should see a folder called BL_proxy appear (see above).

This done, the proxy/all proxies have been generated and are activated for the sequence in its preferences. 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.

b) Preview Window: Enabling & Choosing the Proxy 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 Properties pane on the right hand side of it and under Proxy render size select the proxy resolution you would like to use from the clip (or any in the timeline as you scrub through). This will tell the preview window to not use the original resolution (clip/image sequence on disk) but the chosen proxy resolution that we generated for the clip.


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 2.69 - some details might be different or missing in later or earlier versions. Feel free to comment and I'll update.


[*] As of Blender 2.69 there is a minor bug (for me). If I select more than one proxy here and generate them in the next step, the proxies are all rendered at the smallest of all selected resolutions. I.e. if 75 and 25 are selected and then rendered, the 75 proxy will have the physical resolution of 75% of the original image's dimensions but will be pixelated as if the 25% proxy was just upscaled to 75%.

The solution to this is to simply generate the proxies one by one. I.e. selecting only one resolution in the properties of the sequence pane in the sequence editor and then generating it helping Blender in not getting confused when having multiple resolutions selected simultaneously. Important to note here is that, once all desired proxies are generated, they all have to be enabled/ticked again to tell VSE to actually use them.

$\endgroup$
  • 2
    $\begingroup$ Welcome to BSE. Nice answer! Good going answering an overlooked question. $\endgroup$ – David Oct 24 '15 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 Oct 25 '15 at 1:47
  • $\begingroup$ yeesh. It's taking over an hour to render 25% for a 2 hour raw video (1080p) $\endgroup$ – Joe Phillips Aug 5 '17 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$ – James Watkins Aug 28 '17 at 1:18

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.