7/15/2012

07-15-12 - VideoPlayer and Commonopoly

I wrote this little videoplayer for RAD a while ago. The main purpose of it is not for consumer-style use but for developer diagnosing of video compressors.

In particular, you can give it a list of several videos on the command line, and it plays all of them. It plays them frame-exact by stepping through their frames one by one. Then you can pause and single step forward and back, and you can do split-screen or frame-toggles.

(I've always found that comparing image or video compressors is very misleading if you just look at the output; you have to look at them side-by-side with the originals, or even better do full-frame ping-ponging. For example, x264 generally looks great, but when you do full-frame ping-pongs you can see that they really fuck up the overall luma level and completely change the colors quite a bit (this is largely due to the very shitty YUV space that is standard for video, not anything in x264)).

Anyhoo, videoplayer does some nice things like prefetch and cache lots of frames (it's odd that the mainstream video players don't do this; I have gigs of ram you fuckers, prefetch some god damn video so that I can play over a network without hitching; also keep some previous frames around so I can pause and step backwards a little without seeking!).

download : videoplayer.zip (463k at cbloom.com)

(videoplayer needs radutil.dll which is in RAD Video Tools ; I put it on delay-load so you only need if you want to load a real video (not just images))

Anyhoo, I haven't touched it in a while cuz I'm off video for now. But "videoplayer" can also be pointed at a dir and it treats the images in the dir as frames of a video. I did this originally to load frame-dumps of videos that I couldn't play. For example I would use MPlayer to spit out frames with :

mplayer -benchmark -nosound -vo png:z=6 %1
md %1_frames
call mov *.png %1_frames\
and then point my videoplayer at the dir, and since it can prefetch and all that it can play a video of pngs (which load too slow to play without preloading a bunch).

But I realized the other day that I could use dir-loading to just show image slideshows too, if I use the option to manually set the frame rate to something really low like 0.1 fps. Which brings us around to the title of this post :

I discovered COMMONOPOLY a while ago; I think it's super beautiful ; the guy chooses images well and there's something about that horizontal reflection that really does some magic on the brain. If you full-screen it and stare at the middle and let your eyes defocus a bit, you can get the same image going in each eye and it's like mmm yeah good.

But obviously viewing it on the web sucks balls. So what you do is download all the images with DownloadThemAll, put them in a dir and then point videoplayer at the dir thusly :

videoplayerR.exe -f0.125 -w1 -q -0 -2 -4 -s1 -r t:\commonopoly
and then enjoy.

3 comments:

Anonymous said...

COMMONOPOLY appears to use css or something to reflect the images horizontally; the image files are only contain one unreflected half.

So downloading them to a directory and running a screensaver on that directory isn't going to have quite the outcome you describe.

cbloom said...

Yeah obviously I'm a total moron and never thought of that. I was wondering why when I did it, it didn't look reflected, I thought maybe my eyes were just broken so I posted the blog post anyway.

WTF, I don't know what you people are thinking with these comments sometimes. (*)

FYI that -4 option on the example videoplayer command line that I posted means horizontal reflection.

(* = I didn't know about /delayload, so the standard "you're a moron" comments have a 50% success rate this week)

(videoplayer also has a variety of stretch options; in the example I use -s1 but personal taste might prefer another)

Anonymous said...

Note that I said "a screensaver", not videoplayer specifically. So technically I'm right!

And obviously, like most people reading a blog, I hadn't actually downloaded anything. So of course I didn't know. But even though you didn't mention horizontal reflection as a feature of videplayer,
I should have guessed about the -4.

I assume the -2 makes you a sandwich.

old rants