Create A Video Wall With A Different Video Material On Each Screen

Hi All,

I was tasked with making a video wall for a large number of videos. I ended up writing a script to create all the screens and create an initial unique video material for each screen.

I thought I would post it here so others can look at the code or use this for their own project.

The script in the attached BLEND file is setup to create screens in a 16x9 aspect ratio but you can specify different numbers. The entire generated wall is parented to a single Empty so you can move or animate the wall by altering that object. It will create multiple walls if you like. Just extend the range of the outer loop.

In this kind of project there is no way around coming up with a naming convention for the videos and the screens. So it is quite simple. Screens are named by their location in the grid. Like video_00x00video_00x01 etc. To use this you will need to name your videos as such or create some kind of cross mapping in the code.

The pathing is relative to where you save the BLEND file. So create a folder, put the BLEND file in the folder. In that folder create a folder called video_screens and then place inside the video_screens folder each video as an image sequence. So inside of folder video_screens you will have a bunch of folders like video_00x00video_00x01 etc. Because of Blenders hit and miss support of video formats and the recent dropping of Quicktime (WTF) support this script expects image sequences, not videos, in those final folders. You may need to alter the final pathing string on line #184.

There is also a variable for adjusting the gap between the screens.

The video screens are color coded RED, YELLOW or GREEN. These colors represent the result of trying to create a material for the screen. RED means utter failure. YELLOW means the material was created but the image sequence was not located. GREEN means the material was created and the image sequence was located.

So even if the code can not locate the image sequence for you, the material is all setup for you and you can manually browse to a sequence to populate the video wall.

Blender 2.5.9 r41052.


25_wall-o-video-screens.blend (71.3 KB)

great job! But is there a way to update it in realtime?

More good stuff Atom, thanks releasing all of your awesome scripts!

@Wyvrn: Auto-Refresh is set to true in the script. Just enable GLSL in your viewport and it should update. Be prepared to wait for Blender to calculate all those videos. No 3D package can update videos in realtime. Try enabling it in C4D and performance drops to a crawl.

That is why we render!

your script in the *.blend will not work yet in Blender 2.6.2(3) … the uv- managing is in 2.6.2 maybe not yet be done (resp. I do not know :wink: )
and faces have to be replaced by polygons …

Otherwise is looks very nice …

if you camouflage the uv texture part (below in the script of Atom’s .blend) it works already for you :wink: