Step 1: Splitting and Standardizing the Video
This is the foundational step of your 3D Blu-ray project. Because 3D Blu-rays use a specific "Multiview Video Coding" (MVC) extension of the H.264 codec, you cannot simply throw a Side-by-Side (SBS) file onto a disc. You must first separate the eyes into two distinct, standards-compliant video streams.
The Concept
We are taking a single "Full SBS" file (which contains both eyes side-by-side in one wide frame) and slicing it down the middle. Because your source might be a cinema-style "Ultrawide" format (like 3840x800), we must also add black bars (padding) to the top and bottom to reach the mandatory Blu-ray height of 1080 pixels.
The Command
Run this in your terminal:
ffmpeg -i input.mkv -filter_complex "[0:v]split=2[l_raw][r_raw]; \ [l_raw]crop=1920:ih:0:0,pad=1920:1080:0:(1080-ih)/2:black[leftout]; \ [r_raw]crop=1920:ih:1920:0,pad=1920:1080:0:(1080-ih)/2:black[rightout]" \ -map "[leftout]" -c:v libx264 -crf 16 -preset slow -r 23.976 -pix_fmt yuv420p left_eye.mkv \ -map "[rightout]" -c:v libx264 -crf 16 -preset slow -r 23.976 -pix_fmt yuv420p right_eye.mkv
You want to use the command in 1 line when using command prompt instead:
ffmpeg -i input.mkv -filter_complex "[0:v]split=2[l_raw][r_raw];[l_raw]crop=1920:ih:0:0,pad=1920:1080:0:(1080-ih)/2:black[leftout];[r_raw]crop=1920:ih:1920:0,pad=1920:1080:0:(1080-ih)/2:black[rightout]" -map "[leftout]" -c:v libx264 -crf 16 -preset slow -r 23.976 -vsync cfr -pix_fmt yuv420p left_eye.mkv -map "[rightout]" -c:v libx264 -crf 16 -preset slow -r 23.976 -vsync cfr -pix_fmt yuv420p right_eye.mkv
Command Breakdown
| Parameter | What it does | Why it's important |
|---|---|---|
split=2 | Duplicates input in memory. | Guarantees exact same starting frame. |
crop=1920:ih:x:y | Cuts 1920px wide box. | Separates left from right eye. |
pad=1920:1080 | Adds black bars. | Mandatory 1080p compliance. |
-crf 16 | Sets quality level. | Master quality preservation. |
-preset slow | Higher compression quality. | Prevents 3D macroblocking. |
Verification: The "Perfect Sync" Check
Ensure both files have the exact same number of frames to prevent player crashes.
ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 left_eye.mkv ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 right_eye.mkv
Why this ensures 100% Compatibility
- Resolution: Satisfies the BD-ROM physical specification.
- Timing: Eliminates "drift" between eyes.
- Bitstream: Standard
x264insidemkvis the preferred input for Cinevision.