Repository navigation
Releases: davelindo/videotoolbox_remote
Release list
v0.10.1
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 "<MAC_IP>: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 upstreammastersnapshot79d5bd63067f(frome2798d5cad06).
Learn more
v0.10.0
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 "<MAC_IP>: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?
Fixed
- Preserve logical pixel order when FFmpeg encoder input uses negative plane strides, including native wire formats and planar conversion paths.
- Reject truncated configuration replies and malformed H.264 SPS/PPS data before converting codec extradata.
- Treat transcode socket failures as errors, reject premature or malformed completion messages, and drain queued output before reporting completion. Suppress SIGPIPE during vector writes.
- Keep OBS polling and client sends bounded under partial messages and socket backpressure. Resume partial ping replies without duplicates and complete them before subsequent frame or flush messages.
- Rescale large timestamps without premature intermediate overflow, including negative timestamps and final-result saturation.
- Reject invalid decode reorder depths; accept -1 for the default or explicit values from 0 through 64.
Changed
- Release emitted encoder payloads immediately instead of retaining them until queue compaction, and avoid excess VA-API receive-buffer reservation.
- The experimental VA-API static client SDK now stores pending ping replies in its client structure. Applications embedding the SDK must rebuild against the updated headers.
Added
- Regression coverage for signed-stride pixels and timestamps, malformed configuration replies, drain completion, timestamp boundaries, payload lifetimes, and partial transport with ordered ping replies.
- Run the new FFmpeg API regressions in CI and classify standalone OBS transport-test changes for the OBS job.
Learn more
v0.9.30
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 upstreammastersnapshote2798d5cad06(from10743d064285).
Learn more
v0.9.29
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 upstreammastersnapshot10743d064285(from5fb8bfe275fb).
Learn more
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).
Learn more
v0.9.27
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 upstreammastersnapshot21441b340034(from01cf1a539698).
Learn more
v0.9.26
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 upstreammastersnapshot01cf1a539698(fromef72fa74c0be).
Learn more
v0.9.25
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
- Reuse bounded raw buffers for encoder input decompression and receive padded raw planes in bulk. Finish pixel-buffer CPU access before submitting frames to VideoToolbox.
- Transfer queued FFmpeg output packets directly to callers, avoiding redundant buffer references and side-data copies.
- Corrected the documented VideoToolbox option defaults and benchmark guidance.
- Corrected Big Buck Bunny H.264 VideoToolbox benchmarks after identifying screen-sharing contention, using completed v0.9.16 measurements. Retained valid existing results with their original dates and build identities. Added interactive throughput, VMAF and CPU-time graphs with exact values; removed fix-specific before/after tables.
- Removed an obsolete profiling capture, moved profiler outputs outside the checkout, and replaced private server references in documentation and test examples.
Added
- Hardware regression coverage for padded NV12, P010 and BGRA encoder input across uncompressed, LZ4 and Zstd transport, including decoded pixel/timestamp equality and truncated-plane rejection.
Fixed
- Publish mock listener readiness files atomically so CLI integration tests cannot read incomplete endpoints during startup.
Learn more
v0.9.24
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 upstreammastersnapshotef72fa74c0be(fromb5902e69c71b).
Learn more
v0.9.23
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 upstreammastersnapshotb5902e69c71b(from8e9db1f1528f).