Cross-platform C++ tool to convert CRI Middleware USM video files to MP4, and other formats.
- Extract raw video (
.m2v) and audio (.adx/.hca) streams from USM files - Convert USM to MP4 using FFmpeg
- Supports batch processing of directories
- Works on Windows and Linux
- C++17 compiler (GCC 8+, Clang 7+, MSVC 2019+)
- CMake 3.16+
- FFmpeg (must be in PATH)
cmake -B build
cmake --build build --config ReleaseExecutable: build/Release/usm_toolkit.exe
./build.shExecutable: build_linux/usm_toolkit
# Extract raw streams
usm_toolkit extract video.usm
# Convert to MP4
usm_toolkit convert video.usm
# Convert and cleanup temp files
usm_toolkit convert video.usm -c
# Specify output directory
usm_toolkit convert video.usm -o output/ -cEdit config.json to customize FFmpeg parameters:
{
"VideoParameter": "-c:v copy",
"AudioParameter": "-c:a aac",
"OutputFormat": "mp4"
}- UsmToolkit - Original C# implementation
- VGMToolbox by snakemeat - USM parsing library
- nlohmann/json - JSON parser (bundled in third_party/)
MIT