Sunday, August 01, 2010

Film Festival in a Box

.. a box with an external fan on high.

This blog entry discusses how we at CineForm successfully presented the San Diego 48 Hour Film Project in HD (for the fourth year,) while the 90 other city locations for this competition are still presenting in SD off DVDs. This is a common problem for film festivals in general, so many of the short programs are still shown SD only, often using the cheap low-res advertising projector while there is a beautiful Christie 2K right next to it. I hope this information maybe of use to others seeking to improve their festival presentations, while not blowing the budget.

Over the four years of doing these San Diego festival screenings, the playback hardware and software selection has change drastically reducing the costs form year to year. Initially we use a Wafian HR-F1 portable field recorder, which is awesome for this purpose, but it is not something many festivals have ready access to. We were going to use a CineDeck this year, which is also perfect and ultra small, yet our unit was in the shop for an upgrade. What we ended up doing was using a range of free and low cost tools on a standard PC to convert and present over 6 hours of content over two nights, with sponsor reels and interviews, inter-cut with 50 short films. Here is how.

Firstly, no matter how clear you set submission guidelines, films will come in with vast array of compress types, frame rates, pixel ratios, resolutions, and audio issues. While this is exacerbated by the nature of this particular extreme film-making competition, it occurs to some extent in of all festivals submissions. As we were presenting CineForm 1920x1080 4:2:2 progressive at 23.976, many teams submitted this way (thank you), all other films were batch converted to this format using the basic features of CineForm's NeoHD. By normalizing the content, we can eliminate potential playback issues, varying CPU load and disk bandwidth requirements. Also by normalizing to CineForm we can address other submission errors, like incorrect black levels and odd image framing without a time-consuming re-render.

To present a complex playlist, you could throw everything into an NLE and playback the timeline, but we have never chosen to do that, as reliability and playback without a frame drop is on the highest importance (to me) and the NLE adds an additional layer of complexity. Also seems to add more compute time, for example, generating hours of audio waveforms that will not be used.

For playback this year we used Media Player Classic and AVISynth. Last year we used MPC alone, driving a Blackmagic Decklink card at 23.976 PsF, and used its built in play-list abilities. This worked responsibly well, but we did a have a failure once doing that, and it is missing a few features that AVISynth addresses (audio level control, trimming and resampling.) We continue to use the Blackmagic cards as it is very easy to make MPC play through them as the default renderer, outputting for both audio and video. I haven't tried the AJA DirectShow filters, so those excellent cards may also work. To use DirectShow enabled HDSDI card, all you do is add their output filters as the preferred output (see screen capture.)

The reason to use an HDSDI card for audio and video, there will be no issues with audio sync drifting slightly over an 90+ minute plus presentation, as audio and video are clocked together with the same hardware. A frame of video is presented with the correct number of samples of audio. Whereas running image data over DVI and sound over the PC inbuilt audio, is doable yet not ideal. Picture data is slaving to the audio track which is clocked separately, and the 24p is typically presented over DVI 60p with pulldown that is added based on the audio clock. Not to put you off, DVI works, HDSDI is just better.

AVISynth kicks in to the manage the play-list rather than using the MPC play-list, it allows you to play a trimmed source, remodulation and fix audio levels, all on the fly. With AVISynth, instead of loaded a single AVI into MPC, you load AVS script, a simple text file that describes the actions you need. Here is most of one of the scripts we ran a few days ago for the San Diego 48Hour.

This script was called GroupA.avs and loaded its Media Player Classic, and it appears in MPC as a single movie with length a frame accurate sum of all of the segments, which can be scrubbed and played from any position. The above linked example will play 10 films, 4 interviews and 4 sponsor reels, fixing audio levels and sample rates while it was playing, trimming off unneeded color bars and black lead ins from the films. I cut and paste these scripts for each screening group, making new play-lists has easy.

So far we used for playback:
A PC -- any dual core desktop purchased in the last 3 years would be plenty fast enough.
A free CineForm Decoder (although NeoHD was use to encode the files -- doesn't need to be on the playback system.)
A free player in Media Player Classic
A free scripting engine in AVISynth
An optional $700 Blackmagic card or similar (you can use a second DVI port to go without.) It is best to select an HDSDI card with analog audio output, the easiest to hook up to the theater sound.

To make the control experience more fun, we added a wireless router, and used a remote desktop application on an iPhone to drive MPC from within the theater. I used iTap RDP, but other remote desktop apps also worked fine. It is a lot of fun having a remote for a 40-foot movie screen. This way we could have speakers before, after and maybe even during the presentation, pausing or moving the play position as needed. Scripts where simple to customize, e.g. we had to add 4 seconds of black to the trim on two films to allow time to switch in the CinemaScope lens (those films looked extra awesome.) I only missing controls I'd likely are WiFi controls over the house lights and automation of that scope lens.

The one additional purchase, a $20 desktop fan. We had a backup PC for the first time in the four years we've done this, it turned out to be needed on the first screening night. It seems desktop PCs don't like running in 110F ambient room temperatures for 5 hours -- the projection booths are not always air-conditioned and they is a lot of hot gear around. It wasn't so much a CPU issue, which barely being used at 20% (we had overkill 6 core Gulftown systems,) but the media drive that overheated (those Western Digital Black drives are fast, but get rather hot.) The next night, I took the side off the PC, pointed a fan on the drive, and it played beautifully all night.

While a PC+MPC+AVISynth is not the easiest solution, as I understand that many feel scripting in any language can be overwhelming, it is likely far lower cost than renting HDCAM decks and switchers needed drive HD the more traditional way. We are working with other film festivals to help simplify their HD presentations and CineForm does intend to add more GUI support to play-lists within our own tools (for those script phobic.) After all we know extreme film-making competitions for 3D will be next, and we will need be a simple playback solution for that.

---

And why do we work so hard on this? So we at CineForm can see our own entries in HD on the big screen. Here is my team's film for 2010:

We drew the genre Dark Comedy, the required elements:
Prop: A Chair
Character: Dr. Rita or Rick Hernandez
Line of Dialog: I'm trying my best.

The Hot Seat from David Newman on Vimeo.