Decode Smacker and Bink Videos with FFmpeg
This article provides a quick guide on how to decode and convert vintage Smacker (.smk) and Bink (.bik) video formats using the FFmpeg command-line tool. You will learn the exact commands required to transcode these classic video game formats into modern, compatible formats like MP4, ensuring you can play or edit them on modern systems.
Understanding Smacker and Bink in FFmpeg
Smacker and Bink are proprietary media formats developed by RAD Game Tools, widely used in video games from the 1990s and 2000s for cutscenes and intro logos. FFmpeg includes native, built-in decoders for both formats. This means you do not need to install any external codecs or third-party tools to read these files; a standard installation of FFmpeg is fully capable of handling them.
How to Convert Smacker (.smk) Videos
To convert a Smacker video to a standard MP4 file (using H.264 video and AAC audio), use the following basic command in your terminal or command prompt:
ffmpeg -i input.smk output.mp4If you want to extract the video without re-encoding it (lossless copy), keep in mind that modern players cannot play raw Smacker streams inside an MP4 container. Therefore, re-encoding to a modern codec like H.264 is the recommended approach.
How to Convert Bink (.bik) Videos
Bink videos can be converted in the same straightforward manner. Run the following command to convert a Bink file to MP4:
ffmpeg -i input.bik output.mp4Handling Multiple Audio Tracks in Bink Files
Bink files often contain multiple audio tracks for different language localizations or surround sound channels. By default, the basic command above will only copy the first audio track.
To merge all audio tracks or select a specific one, you can use FFmpeg’s mapping options.
To inspect the file and see all available audio streams, run:
ffprobe input.bikTo convert the video and map a specific audio track (for example, the
second audio stream, which is index 1):
ffmpeg -i input.bik -map 0:v:0 -map 0:a:1 output.mp4Batch Converting Multiple Files
If you are extracting videos from a game directory and have dozens of files to convert, you can automate the process.
On Windows (Command Prompt):
for %i in (*.bik) do ffmpeg -i "%i" "%~ni.mp4"On Linux / macOS (Bash):
for f in *.bik; do ffmpeg -i "$f" "${f%.bik}.mp4"; doneThese commands will search the current directory for all Bink files
and convert them to MP4 files with their original filenames. Replace
.bik with .smk in the scripts to process
Smacker files instead.