Skip to main content

BD-to-AVP Blu-ray Disc to Apple Vision Pro README

Introduction

This tool processes 3D video content from Blu-ray discs, ISO images, or MKV files, creating a final video file compatible with the Apple Vision Pro. It uses FFmpeg, MakeMKV, and Wine for video extraction, audio transcoding, and video stream merging to convert from Mpeg 4 MVC 3D video to MV-HEVC 3D video. The tool also injects 360° metadata into the video file for spatial media playback.

Quick install

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/cbusillo/BD_to_AVP/release/installer.sh)"

Prerequisites

Ensure the following are installed on your Mac:

  • Apple Silicon Mac: A Mac with Apple Silicon, such as the M1, M1 Pro, or M1 Max (Maybe, installer currently requires Apple Silicon. If anyone can confirm that spatial-media-kit-tool works on Intel Macs, I can remove this requirement)
  • macOS Sonoma: The latest version of macOS.
  • Rosetta 2: A compatibility layer allowing Intel-based applications to run on Apple Silicon Macs.
  • Python 3.12: The latest version of Python.
  • Poetry: A dependency manager for Python.
  • Homebrew: The missing package manager for macOS (or Linux).
  • FFmpeg: A complete, cross-platform solution to record, convert, and stream audio and video.
  • Wine: A free and open-source compatibility layer allowing Windows programs to run on Unix-like operating systems.
  • MakeMKV: For converting disc video content into MKV files.
  • spatial-media-kit-tool: A tool for injecting 360° metadata into video files.
  • MP4Box: A multimedia packager available for Windows, Mac, and Linux.
  • MKVToolNix: A set of tools to create, alter, and inspect Matroska files.

Manual Installation

To set up your macOS environment for video processing, including creating and handling 3D video content, follow these steps to install the necessary tools using Homebrew and manual installation. This includes the installation of Homebrew itself, FFmpeg for video encoding and decoding, Wine for running Windows applications, MakeMKV for ripping Blu-ray and DVD to MKV, spatial-media-kit-tool for handling spatial media, and MP4Box for multimedia packaging.

# Install Rosetta 2
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install FFmpeg, MakeMKV, MP4Box, mkvtoolnix and Python 3.12
brew install ffmpeg makemkv mp4box mkvtoolnix python@3.12 --no-quarantine 

# Install Wine
brew tap homebrew/cask-versions
brew install --cask --no-quarantine wine-stable

# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -

# Ensure Python 3.12 and Poetry are correctly installed
python3.12 -m pip install --upgrade pip

cd /path/to/BD_to_AVP
poetry install

Usage

Navigate to the tool's directory in your terminal and execute the command with the required and optional parameters:

Command Syntax

poetry run bd-to-avp --source <source> --output_folder <output_folder> [--keep_intermediate] [--transcode_audio] [--audio_bitrate <audio_bitrate>] [--mv_hevc_quality <mv_hevc_quality>] [--fov <fov>] [--frame_rate <frame_rate>] [--resolution <resolution>]

Parameters

  • --source: Source disc number, MKV file path, or ISO image path (required).
  • --source-folder: Source folder path. This option will recurively scan for image files or mkv files. Will take precedence over --source if both are provided.
  • --keep-files: Keep intermediate files (disabled by default).
  • --output-root-folder: Output folder path. Defaults to the current directory.
  • --transcode-audio: Enable audio transcoding to AAC (disabled by default).
  • --audio-bitrate: Audio bitrate for transcoding in kb/s do not include unit (default: "384").
  • --left-right-bitrate: Bitrate for left and right views in Mb/s do not include unit (default: "20").'
  • --mv-hevc-quality: Quality factor for MV-HEVC encoding (default: "75").
  • --fov: Horizontal field of view for MV-HEVC (default: "90").
  • --frame-rate: Video frame rate (auto-detected if not provided).
  • --resolution: Video resolution (auto-detected if not provided).

Examples

Process a Blu-ray disc:

poetry run bd-to-avp --source disc:0 --output-root-folder /path/to/output

Process an ISO image:

poetry run bd-to-avp --source /path/to/movie.iso --output-folder /path/to/output

Process an MKV file:

poetry run bd-to-avp --source /path/to/movie.mkv --output-folder /path/to/output --transcode-audio

Contribution

Contribute to the project by submitting pull requests or opening issues for bugs and feature requests.

Acknowledgements

Big thanks to:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bd_to_avp-0.1.3.tar.gz (16.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bd_to_avp-0.1.3-py3-none-any.whl (16.6 MB view details)

Uploaded Python 3

File details

Details for the file bd_to_avp-0.1.3.tar.gz.

File metadata

  • Download URL: bd_to_avp-0.1.3.tar.gz
  • Upload date:
  • Size: 16.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for bd_to_avp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6a034a4c3530f5089427ef5ba518aeb98c9106c151453d62a7fba332e30f6ee5
MD5 d01440984262b966931a231b73596533
BLAKE2b-256 76fa70ef7fc0fe6a7484726341606d5ed610a14f3853e9b030f83943d9493327

See more details on using hashes here.

File details

Details for the file bd_to_avp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: bd_to_avp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1016-azure

File hashes

Hashes for bd_to_avp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4fe2058f036f4c08c682ecdc9b1c1a79e8355ded0dbbf9fb06cf959c1820d3b3
MD5 1f3f625519ab7edd426b46fd3bf0b298
BLAKE2b-256 954bf81250ef4a9737cc4c614fa3241fbef6e764384a1dd3aa2d5052f3cb8ef6

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page