Benchmarks

These numbers are intended as a practical baseline for FFmpeg users evaluating whether a Mac hardware transcoding server is worth adding to a LAN workflow. Actual throughput depends on source content, bitrate, encoder options, client CPU, network, and whether the session sends raw frames or compressed packets.

Current Baseline

Mode Resolution Codec Observed throughput
Remote encode 1080p H.264 ~230 fps
Remote encode 1080p HEVC ~210 fps
Remote encode 4K DCI (4096x2160) H.264 ~62 fps
Remote encode 4K DCI (4096x2160) HEVC ~59 fps

The baseline above comes from Apple Silicon loopback-style testing and should be treated as an upper-bound reference, not a network guarantee. Wired LAN is strongly recommended: 1GbE minimum, 2.5GbE+ for 4K.

What Affects Results

Reproduce Locally

Start a server on the Mac:

# Trusted private LAN only. Never expose this port directly to the internet.
vtremoted/.build/release/vtremoted --listen <MAC_PRIVATE_IP>:5555 --log-level 1

Run the benchmark script from the client checkout:

VTREMOTE_HOST=<mac-host> VTREMOTE_PORT=5555 VTREMOTE_USE_EXISTING=1 \
VTREMOTED=/bin/true tests/integration/bench_vtremote.sh

For release binaries, replace the local ffmpeg/ffmpeg path used by the script with the unpacked release client if needed.

FFMPEG=/path/to/ffmpeg FFPROBE=/path/to/ffprobe \
VTREMOTE_HOST=<mac-host> VTREMOTE_PORT=5555 VTREMOTE_USE_EXISTING=1 \
VTREMOTED=/bin/true tests/integration/bench_vtremote.sh

Interpreting Results

Compare remote encode, remote transcode, and local software or GPU paths on the same source file. For weak clients or slower networks, -vt_remote_transcode can be the better mode because the client sends compressed packets to the Mac and receives compressed packets back.

For security and deployment recommendations, see Security. For connection and throughput troubleshooting, see Troubleshooting.