Skip to content

Releases: davelindo/videotoolbox_remote

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:11

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot 79d5bd63067f (from e2798d5cad06).

Learn more

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 20:50

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:06

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot e2798d5cad06 (from 10743d064285).

Learn more

v0.9.29

Choose a tag to compare

@github-actions github-actions released this 20 Oct 14:35

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot 10743d064285 (from 5fb8bfe275fb).

Learn more

v0.9.28

Choose a tag to compare

@github-actions github-actions released this 15 Oct 14:35

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot 5fb8bfe275fb (from 21441b340034).

Learn more

v0.9.27

Choose a tag to compare

@github-actions github-actions released this 14 Oct 15:00

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot 21441b340034 (from 01cf1a539698).

Learn more

v0.9.26

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:15

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot 01cf1a539698 (from ef72fa74c0be).

Learn more

v0.9.25

Choose a tag to compare

@github-actions github-actions released this 13 Oct 06:06

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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

Choose a tag to compare

@github-actions github-actions released this 12 Oct 19:02

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot ef72fa74c0be (from b5902e69c71b).

Learn more

v0.9.23

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:50

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

  1. On the Mac server, download vtremoted-macos-arm64.tar.gz (Apple Silicon) or vtremoted-macos-x86_64.tar.gz (Intel Mac).
  2. 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, or ffmpeg-windows-x86_64.tar.gz.
  3. Start vtremoted on 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
  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.mkv

Which 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, and vtremote_transcode HDR signaling.
  • Linux FFmpeg artifacts are built for x86_64 and arm64 (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 current nasm and yasm; as a compatibility fallback, rebuild with make build-ffmpeg FFMPEG_DISABLE_X86ASM=1.
  • To verify a macOS server upgrade, run vtremoted --version, pgrep -fl vtremoted, and lsof -nP -iTCP:5555 -sTCP:LISTEN on the Mac.
  • Release tarballs are smoke-tested after packaging to confirm the vtremote FFmpeg encoders, decoders, and vtremote_transcode bitstream 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 upstream master snapshot b5902e69c71b (from 8e9db1f1528f).

Learn more