Today I finally launched ASCIImeo (asciimeo.com), a personal project I’ve been working on irregularly for the past few months. In a nutshell, it renders Vimeo videos in different textmode’s. I hope everyone enjoy’s the site; it’s simple and generally useless, but a ton of fun to explore. I’d love to hear your feedback, rants, and bug reports (I was after all the only person working on this).
The player is an evolution of earlier video experiments I was doing in Alchemy. Still using Jari Komppa’s TextFX7 engine for the glyph conversion and AS3ANSI for the rendering, this version features improved speeds and a control UI including fullscreen mode.
When this project was first conceived, I had considered using the Youtube API, but after reading through their TOS that idea quickly vanished (obstructing the video is a violation). Vimeo didn’t pose the same problem, and in retrospect, it was a wiser choice considering the greater quality and style of most of their videos. Tying it to Vimeo was straightforward given the ease of their API and liberal cross-domain permissions (truly there is no better online video community). The only real challenge was brushing up on my rusty CSS skills to get the site displaying correctly cross-browser.
Speaking of challenges, there are still a number of unresolved issues that I hope will be ironed out in the future. The worst one occurs when the player encounters a redirected cross-domain policy file on one of the video servers (specifically vimeo.o4.bitgravity.com). Adobe states: “since version 9,0,115,0, however, Flash Player has treated redirected policy files as though they had originated from the final, post-redirect URL”. This means there’s no way to invoke the BitmapData.draw method for content on the pre-redirect URL without being thrown the dreaded #2122 error (sandbox violation). There’s no current workaround. Regardless, this only happens to a small percentage of videos and occasionally their location is shuffled around.
ASCII video players aren’t new, they’ve been developed on countless platforms including Flash (VLC Media Player had an ASCII filter, and even Apple released an ASCII Quicktime player). With ASCIImeo I really wanted to take advantage of the environment Flash can live in: online, interactive, and social. In the end, I think I’ve created something new from an old idea. You can be sure I’ll be rambling about this at FITC.
UPDATE: Thank you to the many individuals that reported the flakey search results. I’ve tightened up the calls to the Vimeo API and everything seems to be working well now.