Eevee and video textures?

Is there any way to force Eevee to display and render video textures?

Yes! You need a script and to keep the image editor open like in 2.7.
Props to zanqdo:

import bpy
def clipReload(scene):
    bpy.data.images['pasteclipnamere.mp4'].reload()
    print('Clip Reloaded')

bpy.app.handlers.frame_change_pre.append(clipReload)

Put ^this^ in the text editor, change the ‘pasteclipnamere’ to the video texture file’s name, and run the script.
Look here for more:
https://developer.blender.org/T57457

Edit: fixed the code, apparently indents are not respected by default

1 Like

Thanks.
It works but its a little buggy for me. Some frames renders darker that it should be. Of course it is not a big problem to render a few frames again and replace them.

For macOS users - go to:
https://developer.blender.org/T57457
and copy script from there. This avoid quotation marks errors.

I have similar issues. In the viewport it works great but the render turns black or dark randomly.

For everyone else trying the script: make sure you have the correct indentation as seen in the original code, when you follow the link.

Black frames seem to reduce a lot if you render single threaded… change back to cycles and change the setting in performance tab, then on eevee again, rendering the same file has less black frames…

Has anyone found a better workaround to check if the image is actually displaying intead of simply reloading?

Just for the record, this has by this time been fixed.

https://developer.blender.org/T57457

In the Python language, "indentation is everything." The block-structure of this language is determined by indentation, not punctuation such as {…}. No other language that I am aware of is like this.