Repository navigation
v0.9.28
High-quality, low-power H.264/HEVC transcoding over LAN. Keep Plex on Linux and use a Mac's VideoToolbox hardware as an external video engine for supported Plex transcodes, FFmpeg batch jobs, stock Linux VA-API encoding and an experimental OBS encoder.
See the Plex guide, VA-API guide, and OBS guide for setup and compatibility limits. The Performance page compares quality, throughput and client CPU use; whole-system watt savings are not yet measured.
1-minute quickstart
- On the Mac server, download
vtremoted-macos-arm64.tar.gz(Apple Silicon) orvtremoted-macos-x86_64.tar.gz(Intel Mac). - On the client, download the FFmpeg build for your platform:
ffmpeg-linux-x86_64.tar.gz,ffmpeg-linux-arm64.tar.gz,ffmpeg-macos-arm64.tar.gz,ffmpeg-macos-x86_64.tar.gz, orffmpeg-windows-x86_64.tar.gz. - Start
vtremotedon the Mac:
tar -xzf vtremoted-macos-arm64.tar.gz
brew install lz4 zstd
# Replace the example with the Mac's private LAN address. See the security guide for tokens/tunnels.
./vtremoted/vtremoted --listen 192.168.1.20:5555 --log-level 1- Run a remote encode from the client:
mkdir -p ffmpeg-client
tar -xzf ffmpeg-linux-x86_64.tar.gz -C ffmpeg-client
./ffmpeg-client/ffmpeg -i input.mkv \
-c:v h264_videotoolbox_remote \
-vt_remote_host <MAC_IP>:5555 \
-b:v 6000k \
output.mkvWhich asset do I need?
vtremoted-macos-arm64.tar.gz: macOS server binary for Apple Silicon Macs.vtremoted-macos-x86_64.tar.gz: macOS server binary for Intel Macs.ffmpeg-linux-x86_64.tar.gz: FFmpeg client build for Linux x86_64.ffmpeg-linux-arm64.tar.gz: FFmpeg client build for Linux arm64/aarch64 (Ubuntu 24.04).ffmpeg-macos-arm64.tar.gz: FFmpeg client build for Apple Silicon Macs.ffmpeg-macos-x86_64.tar.gz: FFmpeg client build for Intel Macs.ffmpeg-windows-x86_64.tar.gz: FFmpeg client build for Windows.vtremote-vaapi-linux-x86_64.tar.gz: encode-only VA-API driver, Plex packet shim, and experimental static C SDK for Linux.vtremote-vaapi-*-source.tar.gz: matching VA-API driver source bundle.SHA256SUMS.txt: checksums for all release tarballs.
Build and upgrade notes
- v0.4.1-capable clients and servers negotiate the expanded media surface explicitly: hardware-frame ingest/output, HEVC
bgra/ayuv/p210le, frame and packet side-data forwarding, andvtremote_transcodeHDR signaling. - Linux FFmpeg artifacts are built for
x86_64andarm64(aarch64). The arm64 build requires glibc 2.39 or newer and Ubuntu 24.04-compatible shared libraries, including libvmaf 3.0.0; it will not run on Debian 12 / Raspberry Pi OS Bookworm. See arm64 runtime requirements. If a source build fails in FFmpeg x86 assembly, first install currentnasmandyasm; as a compatibility fallback, rebuild withmake build-ffmpeg FFMPEG_DISABLE_X86ASM=1. - To verify a macOS server upgrade, run
vtremoted --version,pgrep -fl vtremoted, andlsof -nP -iTCP:5555 -sTCP:LISTENon the Mac. - Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and
vtremote_transcodebitstream filter are present. - The VA-API artifact is tested through stock FFmpeg and an unclaimed-server Plex Transcoder smoke; claimed Plex Pass servers can additionally run the PMS playback-policy test.
What changed in this release?
Changed
- Rebased the vendored
ffmpeg/subtree to upstreammastersnapshot5fb8bfe275fb(from21441b340034).