Last week brought a major update for the Sega Saturn FILM Muxer, originally released last November, by homebrew developer TrekkiesUnite118. Known for his pursuit of audio and video quality in Saturn fan localizations such as Grandia and Sakura Wars, Trekkies’ experience with processing Saturn video files led him to create this handy Java application to solve some lingering issues, along with an easy-to-use interface.
The Sega Saturn FILM Muxer is a clever video editing tool for the processing of Cinepak formatted full-motion video for Sega Saturn, a common video container. The FILM format was also used in a handful of Sega CD games (and even Lemmings for 3DO), but the developer has focused primarily on support for the Saturn, offering a new, simpler way to “mux,” or combine, audio and video streams into a single video file.
Trekkies explained his tool when he entered it into SegaXtreme’s Sega Saturn 28th Anniversary Game Competition:
“This tool was designed to make dealing with FMVs in translation projects a little less painful. The key thing it does is take the Audio from one Cinepak file, and combine it with the Video Stream from another Cinepak file. This can be useful if you want to say replace the audio in a Japanese FMV with dub audio without degrading the video quality of the original Japanese video.“
— TrekkiesUnite118
The new 2.0 update brings support for direct insertion of PCM or ADX compressed audio streams, along with other features like an extractor tool and data-formatting options. The prior version required creating two Cinepak clips, taking the audio from one and the video from another. This was my experience working on Stellar Assault SS, requiring the laborious added step of encoding a new video — using a Mac OS9 Virtual Machine, Quicktime and Sega’s own MovieToSaturn tool — just to be able to replace the audio in the original clip.
With direct audio insertion, this entire step is now unnecessary. Even as it was, I was grateful to have the tool in order to avoid audio quality issues. There was simply no other way to do that before. If this tool had existed at the time, we would have used it on the Bulk Slash project as well. It may even be worth updating previous localization patches in some cases.
Tools for wrangling Cinepak have been available for some time, FFmpeg being the common choice. Unfortunately, FFmpeg suffers from a formatting oversight that creates subtle but annoying audio artifacts when Cinepak files are played back in a game.
The Sega FILM format requires a specific header and several pieces of data, known as chunks, to be present to ensure correct playback. Unlike ffmpeg, the FILM Muxer can properly format not only the FILM Header and FDSC Chunk — which contains data on the audio and video stream that comes after it — but the STAB Chunk as well. A STAB Chunk contains a table of media sample information. Without the STAB Chunk in place, audio pops can be heard at regular intervals during playback, despite the video otherwise playing correctly.
Maintaining the quality of audio and video assets during the conversions required for localizing Saturn games is a priority for the developer, and future projects are now equipped to provide correctly formatted video with their game patches.
A diagram of the Sega FILM data format:
You can read more on the Sega FILM format, for the tech-minded, here.
So, in addition to providing a faster, simpler way to combine new audio and video assets for use in Saturn game development, the Sega Saturn FILM Muxer also brings key quality improvements, and support for compressed audio formats like ADX. Thanks to TrekkiesUnite118 for his continued work on this great tool.
Does the Sega Saturn FILM Muxer make sense for you and your project? Check out the latest release on Github.
Leave a comment