1080 whatever. Memo (Mehmet) Akten, musician, visualist, creative developer, and self-described “mad scientist” wanted to play a 4800 x 600 pixel QuickTime video file across two outputs. Well, not just two outputs, even – two outputs feeding three triple-head outputs feeding six projectors.

There’s just one problem: most video apps choke on a file that big. They use textures on the graphics card to display video, but the maximum size of a texture is usually 4096 pixels. QuickTime Pro can handle the job, but not across multiple outputs.

Solution? Build a new app: “Mega Super Awesome & mega super basic” QT Player:

MSA QT Player – Fullscreen Quicktime player across multiple video-outs

It’s a Mac-only beast, built with QTKit – Apple’s preferred modern way of developing atop QuickTime – and Cocoa + Mac OS X 10.5. (If you’re hacking like this, best to start with one OS at a time.)

All I can say is, Memo, here’s what I suggest for lunch. The rough equivalent of a 4800 pixel-wide video.

image

Yep, that’s one Snacker sandwich, one piece of chicken, 2 crispy strips, 2 sides, 1 biscuit, (1) 32-oz (that’s, um, a bucket in metric) soda. It comes with $5 off Guitar Hero, though $5 off Wii Fit may be what you need. Watch the video.

Why do I make the comparison? Because overkill is awesome.

Now, of course, some of us want all this multiple-projector action but wouldn’t even think of playing our pixels back from a video. We want to generate it all using fancy code we’ve copied from smarter people developed out of our massive brains. For that job, you want Most Pixels Ever, the Processing/Java library.

But Memo, this is an impressive achievement and, chicken jokes aside, probably very useful. Question: would the same solution be possible with ffmpeg, etc., on other platforms (or even the Mac)?

  • http://kraftma.bplaced.net _kraftma_

    well, it's easier, to play 6 synchronised vids, instead of 1 huge monster. i don't get the benefit of having 1 vid.

    for me, the technical solution sounds stupid.

  • http://createdigitalmusic.com Peter Kirn

    I think it was probably specific to the use case. Yeah, you should likewise be able to slice up the video into different textures. But for this job, the hack may have been easier.

    Now, having a sandwich and fries and 3 chicken pieces and 32 oz of Pepsi… totally necessary.

    Sorry, I'm slightly obsessed with that thing…

  • http://www.memo.tv memo

    Actually a solution as simple as multiple computers running VDMX synced with OSC works quite well in similar situations, no need even for custom software. But at the time I only had one computer (my own mac pro) and loads of pre-rendered super high-res videos and needed a solution where I could take a video, play, test, take another vid, play, test etc. without having to chop them up and wait for the renders.

    If you look at the source code (its on the site), its very simple and took hardly any time at all. In fact the only reason I put the app on my site is because I thought the code might be useful for anyone interested in learning QTKit/Cocoa – and there is a lack of lightweight & free apps (at least on osx) that can play video fullscreen across multiple monitors…. the support for >4096 was just a bonus!

    and yea that KFC meal is pretty inviting… if only it had hot wings! :P

  • http://createdigitalmusic.com Peter Kirn

    @Memo: Nope, makes perfect sense to me. And it's great to have a demo example!

    Now, if I could just find some simple ffmpeg demos… hmmm…

  • VJ Xtreem

    Well under windows VLC player would work. I have a triplehead digital on 3 widescreen screens working.

    Only how do you make content that wide?? Adobe premiere or Sony Vegas go till somewhere in the 2000 pixel range. So how do i create content on 4080 x 756 the resolution i work with..

    VJ Xtreem

  • http://www.memo.tv memo

    Hey VJ XTreem. I'm not sure VLC can play video across multiple video outs. I.e. playing across 3 widescreen screens on a triplehead is still one output on the graphics card. I just couldn't find any software (including VLC) that could play across two outputs on the graphics card (with a triplehead on each output), but maybe I didn't play with enough VLC settings.

    The large content I had was created with aftereffects, that allows for pretty massive resolutions. But a word of caution, if you have complex contents the data rate is going to be pretty big and the overheads of streaming/decoding is going to cause the fps to drop below desired fps…