Electric Chord

Hummmmmmmmmmmmmm....

The electrical device in my building and the construction equipment across the street play what I think is a dead-on major chord. I think the truck outside is playing the first and fifth, with the boxy thing playing the third. Music majors please correct me if I’m wrong.

My Top 3 Super Bowl Ads

  1. Chrysler: Detroit

    Really this is an ad for detroit. The VO starts off a little aggressive / defensive for my taste, but it gets better from there. I think the images speak for themselves pretty well: this is a place that used to be able to make great art, great architecture, great stuff, and there’s no reason it can’t do so again. So I guess really it’s about the US in general, huh.
  2. NFL: sitcoms
    <a href="http://msn.foxsports.com/video/?vid=098be3b4-b5e5-428b-9070-9dd8f7aab1ea&#038;from=IV2_en-us_foxsports_videocentral_player" target="_new" title="NFL: Brand American">Video: NFL: Brand American</a>
  3. There is a lot of heartbreaking VFX work in this spot, including roto, tracking, matchmoving… Making it look like someone is wearing a hat is a difficult, subtle process that looks faaaaaake with the smallest mistakes.

  4. VW: 2011 Beetle
    <a href="http://msn.foxsports.com/video/?vid=f93a6bb6-44ff-407f-ac4c-dc5bbd26269a&#038;from=IV2_en-us_foxsports_videocentral_player" target="_new" title="Volkswagen: Black Beetle">Video: Volkswagen: Black Beetle</a>
    This one’s just fun. It was a tossup between this and the helpful beaver ad, but the stupid “I got you brah” hand gesture at the end of the beaver commercial throws the win to VW.

Avid, LEAVE MY LEVELS ALOOOOOOOOOONNNNEE!

Avid has posted a little tutorial on how to export and import quicktimes “correctly.” After reading it several times, I noticed that the author doesn’t cover what I think is the most important use-case: I would like to export video and not touch the levels at all. And then I would like to import it, and not touch the levels at all. Leave my levels alone! Don’t clip them, don’t make them colorsafe. My job as the online editor is to make the show broadcast-safe, and I don’t need the “help”. When Avid screws with my levels, it makes it impossible to roundtrip between Avid and Shake so I can do vfx work.

Thanks to this article, however, I think I finally understand what the Color Levels options in Avid mean:

  • “RGB”: This material I am importing or exporting is EVIL RGB, and needs to be fixed to proper broadcast safety. Please Avid, I am incapable of using a color corrector, won’t you squish (RGB option) or clip (RGB source) my levels for me?
  • “601/709”: LEAVE MY LEVELS ALOOOOONNNEEE. I’ll do my own correction, thanks!

If you select 601/709 everywhere you can, Avid won’t touch your levels and will preserve the full range of the image. I have confirmed this by exporting a dozen files with all sorts of settings. I was able to make the process work two ways:

  • Avid codecs using Format Settings / Video Settings / Options / Color Input: 601/709, and Color Levels: 601/709, then importing 601/709
  • Animation codec with Color Levels: 601/709 and importing 601/709

With the Avid codecs, selecting Color Input: RGB clips data off the top and bottom, and selecting Color Levels: RGB squishes the levels to broadcast safe without clipping.

I have been exporting and importing files incorrectly for years. Along with alpha channels, importing and exporting in Avid is insanely complex. Having backwards alpha channels doesn’t help. This needs to be fixed. Here is how these options should read:

  • Color Levels: Maintain color levels
  • Color Levels: Import as broadcast-safe

Converting Varicam 48fps to 24p

Warning, technical video post production post ahead.

A few weeks back we needed to shoot some greenscreen for a show that is being delivered at 23.98fps (aka “24p”). I’d had problems pulling a key in the past with motion blur at that slow framerate (I prefer 30 for TV work), so I suggested we increase the shutter speed in the camera. The DP seemed more comfortable adjusting the framerate, so he suggested we shoot it at 48 and only use every other frame of the footage. I figured I could write a script to do the conversion later.

We shot the footage, and the next week I sat down to write a python program to convert the material to 24 fps. This could have probably been done with final cut or something, but I don’t know that program so I did it the easy way: play around with the frames themselves using an image sequence (ie, a big folder of numbered tif files, each of which represents a frame of footage).

Normally this would be easy, just take every odd-numbered image. But in this case, although we shot at 48fps, the footage is at 60fps. Why? Varicam works like this: the front of the camera (the shutter and CCD) shoot whatever framerate you choose, but the tape recorder in the camera always records 60fps. Even if you shoot 6fps, the varicam writes 60 frames to the tape — 10 of frame 1, 10 of frame 2, etc. So when we shoot 48fps, there are 60 frames per second on the tape, 48 of which are unique and 12 of which are duplicates.

If I am going to convert the footage to 24p, I need to first remove the duplicate frames (60 -> 48 fps), then remove every other frame (48 -> 24). By analyzing the footage frame by frame, I determined that when the varicam shoots 48fps, it uses the following pattern:

0000100001000010001

Where 0 represents a unique frame, and 1 represents a duplicated frame (to fill out to 60fps). This pattern is repeated over and over again throughout the footage. (I only just noticed that the pattern is 19 frames long, not 20 like I’d expect, but looking at the footage that’s what it is.)

My python program goes through an image sequence, finds the pattern of duplicate frames, and then copies every other file that is not a duplicate to a new folder as a new image sequence. It makes the following assumptions: the files are .tif files, and “duplicate frame” means “exactly the same size” (not a bad assumption with digital media and tifs). It’s a little hacky, but looking at the resulting 24fps image sequences I don’t see any stutter or dropped frames.

There are some basic checks in the code so it hopefully won’t overwrite precious data, but I make no guarantees.

Code: 48-to-24.py

Moment in the Sun

Chris Blizzard let me know a while back that Red Hat Magazine was coming to the olpc offices to shoot some promotional video, and that they might want to interview me. So I dropped on by after work and gave them some good bites.

They’ve posted the edited video, which is a pretty nice peek into the place where the magic happens. It’s not my best on-camera appearence ever, but luckily they cut away from me pretty quickly 🙂

Me appearing in the olpc video

Game theory and movie piracy

I haven’t seen anyone else linking to this, but the blog Freedom to Tinker is doing a badass academic analysis of the effectiveness of HD-DVD AACS encryption using Game Theory. Rather than simply concluding that the studios are evil and hackers will beat the system, they’ve analyzed the encryption method to determine the optimal behavior for each side.

They come to a fascinating conclusion:

It turns out that the attacker’s best strategy is to withhold any newly discovered compromise until a “release window” of size R has passed since the last time the authority blacklisted a player. [. . .] Once the release window has passed, the attacker will use the compromise aggressively and the authority will then blacklist the compromised player, which essentially starts the game over. The studio collects revenue during the release window, and sometimes beyond the release window when the attacker gets unlucky and takes a long time to find another compromise.

They point out that this resembles the current studio model of release cycles:

Interestingly, this release window strategy resembles the studios’ current approach to extracting revenue from films, in which a film is available first in the highest-revenue format — in theaters — then later in a succession of lower-revenue formats — DVD and television. The idea is to extract more revenue from the most enthusiastic fans in early stages and pick up whatever revenue is available from everyone else later.

There are currently seven long articles about the topic, but they are all worth reading.

Noble eats grass

This is a video in a blog posting, but don’t get the idea that this is a “video blog” now. I see little point in posting a video solely of me talking to the camera, because that is what text is for. So when I want to say something, I’ll use text. And when I want you to see something, I’ll post a photo. And if I want to show something, then I’ll post a video. There’s no reason I have to stick to only one!

This posting is a bit torrent, the file is 16MB. You can read this enclosure with PenguinTV for linux, FireANT for Windows, and DTV for Mac. It’s an AVI with the Xvid codec, so the video will probably play on a Mac with VLC. On windows you should already have the defilerpak codec collection because you download xvid-formatted movies all the time. On linux it just works with totem, xine, mplayer, whatever.