San Francisco, California, United States TechnologyLet's create a movie format that addresses all the needs of professional users, now and into the future. MOX will use existing open source technology to create a new file format that is:
Professional
MOX will store audio and video using lossless and near-lossless compression, allowing users to maintain quality when moving media between applications. It will support high sampling rates, bit depths, and frame sizes, and hold all relevant metadata such as color space and timecode.
Cross-Platform
MOX will read and play consistently on Mac, Windows, Linux, or any other platform. This is because MOX will be an open format, based on open standards. It will include an open source C++ library, ensuring that any program will be able to easily support MOX files, now and forever.
Movie
As a movie format, MOX will store audio and video together. It will leverage technology used in existing audio-only and still-image formats to make the first professional movie format that is open source and patent-free.
The Problem with Existing FormatsThere are already movie formats aimed at professional users, but they each fall short in one way or another. Some are not cross-platform, making them difficult to hand off to colleagues. Others do not support key features like higher bit depths and lossless compression. Few have well-designed APIs so that applications can take full advantage of them. Most require developers to pay licensing fees.
The source of these failings is that the formats are not open. Controlled by video software companies, their inner workings are shrouded in mystery. If users need the format to add a new feature or support a different operating system, it is entirely at the company's discretion to do so.
Compare this to an open format like JPEG, which can be read by any program on any device. Or see how OpenEXR has evolved to add features for today's visual effects artists. There's no reason we can't have the same freedom with a movie format.
What We're Planning to DoGood news! The core technologies we need have already been developed and released as open source. All that's left to do is corral them together into a cohesive format that's easy to use. Specifically, we need to:
Create a specification for MOX
Write an open source software library
Write open source plug-ins for popular video apps
The initial release will require some dedicated programming work, followed by years of part-time developer support and maintenance.
Funding GoalsThe MOX software will be free to use, but it will not be free to create. A programmer (me!) will need to work on it full-time for several months. Programmer time will consume 100% of the MOX budget.
The average salary for a software developer in San Francisco is $1,800 per week. Working for half that rate, $20,000 pays for about six months of development time.
The primary $20,000 goal will allow me to create the spec, open source library, and write an Adobe Premiere plug-in. At this point, any application will be able to support MOX easily, and will have working code demonstrating how to do so.
But if we can write more plug-ins, that will only speed up the adoption of MOX. The more money is raised, the more software can be created, so we have some stretch goals:
$20,000: Adobe Premiere plug-in (primary goal, also works in Media Encoder)
$25,000: Adobe After Effects plug-in
$30,000: Nuke plug-in
And should those goals be met, we have no shortage of additional stretch goals ready to be revealed.
Technical DetailsMOX is going to use the
MXF container (SMPTE 377M) to hold a specific list of open source, patent-free audio and video codecs. Many of the video codecs will actually be embedded frame sequences, allowing frames to be copied in and out of a MOX as if it were a Zip file.
Video formats will be
Dirac,
OpenEXR,
DPX,
PNG, and
JPEG. The sum total of these codecs means that MOX will be able to store video at 8-, 10-, 12-, and 16-bit integer, as well as 16- and 32-bit floating point. Each bit depth will have both lossless and lossy compression options.
Audio codecs will be
FLAC,
Opus, and raw
PCM to do lossy and lossless audio compression at 8-, 16-, 24-, and 32-bit.
Both audio and video will support any number of channels. Depending on the codec, this means that multiple compressed video streams may be present in a MOX, allowing for
alpha channels,
Z-depth, stereo views, etc.
MOX will support file-wide and frame-specific metadata. Color space metadata can include
ICC profiles, named color spaces like Rec. 709,
gamma &
chromaticityvalues,
OpenColorIO configuration information, and embedded
LUTs. MOX will clearly differentiate between importing pixels in their native format and viewingpixels, which may involve a display transform.
The open source library and plug-ins will be programmed in C++, hosted on GitHub, and available under the permissive
BSD license, allowing commercial and non-commercial software programs to use them freely.
Other Ways to HelpSpread the word! Send an email to the other video and film professionals you know. This project is for them.
And tell companies that make the software you use that you want them to support MOX! Many programs do not have plug-in architectures so we can't do it for them, even if we had the resources to do so.
About the AuthorI got my start in visual effects working for
The Orphanage, doing matchmoving on
Jeepers Creepers II (23% on
Rotten Tomatoes!). While at The O I worked on a number of films and commercials, my personal favorite being
Sin City. Somewhere along the way I learned to write plug-ins, one of the first being eLin, a system for doing linear compositing inside 16-bit After Effects.
Since The Orphanage, I've written a number of other plug-ins, many of them offered for free on my
website and
blog. In 2007 I released the
ProEXR package, which provides full OpenEXR support in Photoshop, After Effects, and Premiere. The AE plug-ins have shipped with After Effects since 2008, and the code for them is freely available up on
GitHub. I'm even in the AE credits!
Other open source projects include an
OpenColorIO plug-in for After Effects, and a tool for
DCI color space conversion. More recently I've worked on
Theora and
WebMplug-ins, which made me realize that all the necessary pieces for MOX were finally in place.