Skip to content

v0.9.28

Choose a tag to compare

@github-actions github-actions released this 15 Oct 14:35
· 12 commits to main since this release

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