Tech News
← Back to articles

FFmpeg-over-IP – Connect to remote FFmpeg servers

read original related products more articles

Use GPU-accelerated ffmpeg from anywhere — a Docker container, a VM, or a remote machine — without GPU passthrough or shared filesystems.

The Problem

GPU transcoding is powerful, but getting access to the GPU is painful:

Docker containers need --runtime=nvidia , device mounts, and driver version alignment between host and container

need , device mounts, and driver version alignment between host and container Virtual machines need PCIe passthrough or SR-IOV — complex setup that locks the GPU to one VM

need PCIe passthrough or SR-IOV — complex setup that locks the GPU to one VM Remote machines need shared filesystems (NFS/SMB) with all the path mapping, mount maintenance, and permission headaches that come with them

You just want your media server to use the GPU for transcoding. You shouldn't need to restructure your infrastructure to make that happen.

The Solution

Run the ffmpeg-over-ip server on the host (or any machine with a GPU). Point your app at the client binary instead of ffmpeg. Done — your app gets GPU-accelerated transcoding without needing direct GPU access.

The client pretends to be ffmpeg. It forwards arguments to the server, which runs a patched ffmpeg that tunnels all file I/O back through the connection. Files are never stored on the server.

... continue reading