|
|
||
|
LinuxMovies.org
|
|
The Linux Motion Picture Pipelineby Robin Rowe Within the industry the assembly line of hardware and software used for making movies is called a studio pipeline. Linux is preferred because it scales well and is compatible with tens of millions of lines of unix code the studios have developed internally over the years. All the large studios use Linux as their primary OS for desktops and server renderfarms. The motion picture production pipeline begins with a film scanner, HD tape, or 3d modeling software such as Maya. For feature animation there would be no live footage, just 3d models. For visual effects there can be a mix of 3d and live footage. Scanning 2d paper drawings for animation is no longer used. Live action 35mm film footage is scanned into digital intermediate format as sequentially numbered 2k pixels wide images. Popular studio file formats are dpx, cin, exr or tif. Scans are "dust-busted" using paint/retouching software such as CinePaint to make a perfect digital master. The images may be stabilized (camera tracked to remove shake) using software such as Mokey. An alternative to shooting 35mm film is to convert HD footage shot with cameras such as the Panasonic Varicam or Sony CineAlta or Thomson Viper. In motion picture studios HD content is not manipulated using television HDTV gear (over a real-time HD interface called dual-link SDI that's sort of like DV Firewire) because that would have much less picture quality headroom than digital intermediate and be incompatible with the studio pipeline. HD is converted into film-style digital intermediate using hardware such as RaveHD. The 3d models are output into 2d images (frames) using a renderer such as RenderMan. The look of a render is adjustable, can be flat-shaded cartoons or photorealistic images. Renderers can be custom programmed using shaders, and for performance some shaders are run directly on the GPU such as NVIDIA Quadro. A Quadro offers 40 gflops (40 billion floating point operations per second) of specialized graphics computation compared to a Pentium's 8 gflops of general purpose computation. A compositor such as Shake is used to combine images seamlessly. Sometimes a large background plate is created using software such as CinePaint and the compositor fakes a pan across the plate. If the foreground camera was moving it is necessary to matchmove the background plate. For complex matchmove, specialized software such as Boujou is used. Errors in rendering or compositing can be touched up by hand using paint software such as CinePaint. That can be faster than starting over to fix a minor mistake. Shake or CinePaint can also be used for wire removal where actors were flown on rigs for an action sequence. Shake can be used to key actors on blue screen or to rotoscope to replace the background. A grid of Linux computers are managed as a render queue using software such as Platform LSF. Renders and composites can require a lot of CPU power. One frame of a heavy duty photorealistic render can take eight hours to compute on a CPU. A typical feature animation grid size is 1000+ x86 CPUs. Grids are a type of cluster and confusingly the terms are often mixed. Supercomputer clusters are fundamentally different from grids, although they can run on the same hardware. A supercomputer puts many computers on the same task. A grid will separate jobs per frame, a topology more like a rack of web servers. Supercomputer clusters such as OpenMosix are good for simulations (for example, creating an ocean with waves), but not for batch rendering because the inter-process communication necessary with large images is expensive. Large simulations are often "baked" into 3d models so that they can be rendered later on a grid. Editing software such as Piranha is used to assemble the composited scenes into a movie. The movie is color corrected with software such as SpeedGrade so that scenes shot under various lighting conditions or on different film stocks all share the same look. Audio is typically handled on a Macintosh, not Linux. The finished dpx or cin files are printed back to 35mm motion picture film using a film recorder. To convert to HDTV (Sony HDCAM tape) hardware such as RaveHD is used. Digital cinema is expected to replace film projection eventually, but is being held back by the high cost of rapidly evolving cinema-grade projectors. Post houses buy commercial Linux apps or build their own proprietary tools that are not OSS. Big studios can afford to develop their own tools. Smaller post houses prefer Windows or Mac apps at the desktop, with Linux at the renderfarm. Linux is deployed at large post houses because it scales. Flash Film Works and South Park (Casa Bonita) are examples of small post houses using Linux renderfarms, but the Linux desktop apps are rarely open source. South Park, for instance, uses Maya on Mac at the desktop. CinePaint is the only popular OSS production tool, and it just does retouching. Studios have written millions of lines of their own proprietary code. Blender and Wings3D are not used in production because they are considered inadequate for the needs of Hollywood. Blender has been used for pre-viz development for the Spider-Man movies, but not production. The cheapest 3D modeler that's widely used in commercial movies is SoftImage XSI. That starts at $500 and is a more powerful tool than OSS 3D apps. With open source render, 3Delight is being used by Rising Sun. More Info |
Commercial Linux Tools
Free Animation Software and Modelers
Free Audio Software
Free Cluster SoftwareFree Editors
Free Linux Distros for Multimedia
Free Movie Playback
Free Paint/Retouching
Free Renderers
Free Render Queues
Free Shader and GPU ToolsFree TitlerThere's nothing comparable to Apple Motion that's free. Here's a simple Python program called ReelTitles. Odd Free ToolsOften recommended by those who've heard of them but never used them personally, people enthusiastic for these tools aren't working at studios. |
Questions to rower@movieeditor.com
Created Jan 4, 2003; updated Nov
11, 2007