mvc2stereo is a macOS command-line tool for converting MVC stereoscopic 3D video into practical modern stereo formats.
It was developed by Alaric Hamacher for real-world stereoscopic 3D production, restoration, archiving, and post-production workflows.
The tool is designed for MVC-based 3D video sources that are difficult to use directly in current editing software.
- Purpose
- Main Applications
- Supported Output Modes
- Supported Input Formats
- Installation
- Dependencies
- Basic Usage
- Batch Conversion Script
- Audio Options
- Keeping Temporary Files
- Example Workflows
- DaVinci Resolve Workflow
- JVC MVC MP4 / MOV Support
- Why This Tool Exists
- Workshop and Festival Use
- Technical Notes
- Current Limitations
- Author
- Third-Party Code Notice
- License
Many older stereoscopic 3D cameras recorded video using MVC — Multiview Video Coding. MVC is an extension of H.264/AVC. It stores:
- one full base view
- one dependent second view This format was used in:
- AVCHD 3D
.MTS/.M2TSrecordings - Blu-ray 3D video streams
- some JVC MVC
.MP4/.MOVcamera files Today, many applications can open these files but only show the base 2D view. The second stereo view is often ignored.mvc2stereoconverts both views into usable stereo video formats.
mvc2stereo can be used for:
- stereoscopic 3D post-production
- editing MVC 3D footage in DaVinci Resolve
- restoring older 3D camera recordings
- archiving stereoscopic video material
- creating side-by-side ProRes files
- creating separate left/right ProRes masters
- creating MV-HEVC stereo QuickTime movies
- preparing stereo material for headset workflows
- stereoscopic projection and screening
- research and education in 3D filmmaking
Creates one ProRes movie with left and right eye images arranged side-by-side.
mvc2stereo input.MTS --mode sbs-proresUseful for:
- quick review
- editing
- 3D monitoring
- projection workflows
- conversion to other stereo formats
Creates separate left-eye and right-eye ProRes movie files.
mvc2stereo input.MTS --mode dual-proresUseful for:
- high-quality stereo post-production
- color correction
- compositing
- stereo alignment
- archival mastering
Creates a multilayer HEVC QuickTime movie.
mvc2stereo input.MTS --mode mv-hevcUseful for:
- Apple spatial video experiments
- headset playback workflows
- modern stereo delivery testing Compatibility depends on the playback or editing software.
Current input support:
.MTS.M2TS.264.h264.avc- experimental JVC MVC
.MP4 - experimental JVC MVC
.MOVThe.MTSand.M2TSprocessing pipeline is implemented natively in Swift and does not require Python.
Install with Homebrew:
brew tap stereo3d/tools
brew install stereo3d/tools/mvc2stereoCheck the installation:
mvc2stereo --helpHomebrew installs the required FFmpeg dependency automatically.
mvc2stereo currently uses:
ffprobefor reading video informationffmpegfor audio muxingffmpegfor experimental MP4/MOV MVC extraction Python is not required for normal.MTS/.M2TSMVC processing.
Convert an MVC .MTS file to side-by-side ProRes:
mvc2stereo input.MTS --mode sbs-proresConvert only the first 100 stereo frames:
mvc2stereo input.MTS --mode sbs-prores --max-frames 100Create separate left and right ProRes files:
mvc2stereo input.MTS --mode dual-proresCreate MV-HEVC:
mvc2stereo input.MTS --mode mv-hevcA simple batch script is provided for converting all supported MVC files inside one folder.
The script uses the Homebrew-installed mvc2stereo binary:
TOOL="mvc2stereo"This means mvc2stereo must already be installed and available in the terminal:
brew tap stereo3d/tools
brew install stereo3d/tools/mvc2stereoMake the script executable:
chmod +x batch_mvc2stereo.shRun it on a folder:
./batch_mvc2stereo.sh /path/to/folderIf no folder is given, the current folder is used:
./batch_mvc2stereo.shThe script currently scans for the following file extensions, in upper and lower case:
.MTS
.mts
.M2TS
.m2ts
.MP4
.mp4
.MOV
.mov
The default output mode is:
MODE="mv-hevc"You can edit the script and change this line to one of:
MODE="dual-prores"
MODE="sbs-prores"
MODE="mv-hevc"The script automatically skips files when the expected output already exists.
Expected output names:
dual-prores → input_L.mov and input_R.mov
sbs-prores → input_SBS.mov
mv-hevc → input_MVHEVC.mov
A log file is created automatically:
batch_YYYYMMDD_HHMMSS.log
Example:
./batch_mvc2stereo.sh /Volumes/media/3D/my_folderBy default, audio is preserved. Use PCM audio:
mvc2stereo input.MTS --mode sbs-prores --audio pcmUse AAC audio:
mvc2stereo input.MTS --mode sbs-prores --audio aacDisable audio:
mvc2stereo input.MTS --mode sbs-prores --audio noneFor debugging or inspection, keep intermediate files:
mvc2stereo input.MTS --mode sbs-prores --keep-tempThis can be useful for checking:
- extracted base view stream
- extracted dependent MVC stream
- rebuilt MVC elementary stream
- decoder input
mvc2stereo 00093.MTS --mode sbs-proresmvc2stereo 00093.MTS --mode dual-proresmvc2stereo 00093.MTS --mode mv-hevcmvc2stereo 00093.MTS --mode sbs-prores --max-frames 100mvc2stereo outputs files that can be used directly in DaVinci Resolve workflows.
Some MVC source files are interlaced. In this case, DaVinci Resolve may not always interpret the field order correctly automatically.
DaVinci Resolve has an excellent deinterlacer using the Neural Engine. For best results:
- Import the converted file into DaVinci Resolve.
- Right-click the clip in the Media Pool.
- Choose Clip Attributes.
- Set the correct interlaced field order, for example:
- upper field first
- lower field first
- progressive
- Enable the appropriate deinterlacing settings in the project or clip settings if needed. For side-by-side stereo files, DaVinci Resolve can also identify the clip as stereoscopic 3D material:
- Right-click the side-by-side clip.
- Open Clip Attributes.
- Set the stereoscopic 3D format to Side-by-Side.
- Use DaVinci Resolve’s stereo 3D tools for editing, alignment, convergence, and output. MV-HEVC clips are usually recognized directly as stereo/spatial video by compatible software. However, depending on the original source, interlaced settings may still need to be checked manually. Recommended workflow:
MVC source file
→ mvc2stereo conversion
→ import into DaVinci Resolve
→ check Clip Attributes
→ set interlaced/progressive interpretation if needed
→ set stereoscopic format if using side-by-side ProRes
→ edit, color grade, and export
Some JVC 3D cameras recorded MVC streams inside MP4 or MOV containers.
mvc2stereo includes experimental support for these files.
The program extracts MVC-related header information from the MP4 container and rebuilds a JM-compatible MVC stream.
This preparation step can take time, especially with large files.
Example:
mvc2stereo input.MP4 --mode sbs-proresFor some JVC files, interlaced 50i sources may be reported as 50 fps by ffprobe.
mvc2stereo compensates for this by writing interlaced MP4/MOV outputs at half the reported frame rate when appropriate.
Example:
FPS: 50/1
Field order: tt
Output FPS: 25/1
A large amount of stereoscopic 3D material was recorded in MVC-based formats that are no longer well supported by current software.
Many modern applications can open the files, but only show the base 2D image. The second eye is often unavailable.
mvc2stereo was created to make this material usable again.
The goal is not only playback, but also:
- restoration
- post-production
- education
- stereoscopic research
- preservation of older 3D camera material
- conversion to modern immersive media formats
mvc2stereo has been used in practical stereoscopic 3D education and production workflows, including the New Media Workshop / 3D Masterclass connected to the Busan International Short Film Festival.
More information:
The tool supports this type of educational workflow by making MVC 3D camera footage easier to convert, review, edit, and project in modern post-production environments.
mvc2stereo uses the JM reference MVC decoder internally for MVC decoding.
For .MTS and .M2TS files, transport stream demuxing and MVC access-unit merging are implemented in Swift.
For JVC .MP4 / .MOV MVC files, the tool currently still relies on FFmpeg for video extraction before rebuilding the MVC stream.
- JVC MP4/MOV support is experimental.
- Some damaged or incomplete MP4/MOV files may not fully extract.
- MV-HEVC compatibility depends on the target playback application.
- Field-order handling depends on the output format and editing application.
- The current binary release is for macOS Apple Silicon.
mvc2stereo was written by Alaric Hamacher.
The tool was developed from practical stereoscopic 3D production, post-production, and archival needs.
mvc2stereo includes modified code derived from the JM H.264/AVC reference decoder.
The JM reference software includes ISO/IEC and ITU copyright and warranty notices. These notices are included in THIRD-PARTY-NOTICES.md.
The JM notice grants a free license to the software module and modifications, but it does not grant patent rights. Users intending to use the software in products should review the applicable patent and licensing situation.
Copyright © Alaric Hamacher. License information will be added with the public source-code release.
