Repolode
steelbrain

steelbrain/ffmpeg-over-ip

无需 GPU 直通或共享文件系统,通过单个 TCP 端口调用远程 GPU 机器上的 ffmpeg 转码。

Star
1,192
Fork
41
未关闭 Issue
6
最近提交
18小时前

这是什么?

ffmpeg-over-ip 让一台机器上的应用能够调用另一台带 GPU 的机器运行 ffmpeg。客户端程序代替 ffmpeg 接收命令行参数并转发给服务端守护进程,服务端运行打过补丁的 ffmpeg,并把所有文件读写通过连接回传给客户端。输入输出文件始终留在客户端,服务端不保存文件。

它适用于 Docker 容器、虚拟机或远程主机等场景:直接使用 GPU 通常需要配置运行时、做 PCIe 直通或挂载 NFS/SMB。服务端只需开放一个 TCP 端口,客户端仅发起出站连接。命令通过共享密钥进行 HMAC-SHA256 签名认证,多个客户端可以同时连接同一服务端,每个会话各自运行一个 ffmpeg 进程。

发布的二进制文件内置基于 jellyfin-ffmpeg 构建的 ffmpeg 和 ffprobe,支持 NVENC、QSV、VAAPI、AMF、VideoToolbox 等硬件加速。客户端和服务端提供 Linux x86_64 与 arm64、macOS 以及 Windows x86_64 版本。

核心功能

  • 01通过单个 TCP 端口把 ffmpeg 和 ffprobe 命令从客户端转发到远程服务端。
  • 02将文件读写通过连接回传给客户端,无需共享文件系统。
  • 03支持 NVENC、QSV、VAAPI、AMF、VideoToolbox 等硬件加速。
  • 04每条命令都使用 HMAC-SHA256 和共享密钥签名认证。
  • 05支持多个客户端同时连接,每个会话独立运行 ffmpeg 进程。
  • 06实时转发标准输出和标准错误,并返回 ffmpeg 的退出码。

适用场景

  • 让运行在 Docker 容器中的 Jellyfin 或 Emby 调用其他主机的 GPU 进行转码。
  • 在不做 PCIe 直通的情况下,让虚拟机使用宿主机的 GPU。
  • 把转码任务从没有 GPU 的 NAS 或媒体服务器转移到带 GPU 的机器上。

快速上手

  1. 1

    在GPU机器上安装服务端(Linux/macOS)

    按 README 中的官方说明安装
  2. 2

    在GPU机器上安装服务端(Windows PowerShell)

    按 README 中的官方说明安装
  3. 3

    在媒体服务器机器上安装客户端(Linux/macOS)

    按 README 中的官方说明安装
  4. 4

    在媒体服务器机器上安装客户端(Windows PowerShell)

    按 README 中的官方说明安装

使用前须知

  • 许可证分为两部分:fio/和patches/目录为GPL v3,其余部分为MIT。
  • 部署需要共享密钥,并需在GPU机器上运行服务端、在每台媒体服务器上运行客户端。

标签

常见问题

ffmpeg-over-ip 是什么?
无需 GPU 直通或共享文件系统,通过单个 TCP 端口调用远程 GPU 机器上的 ffmpeg 转码。 ffmpeg-over-ip 让一台机器上的应用能够调用另一台带 GPU 的机器运行 ffmpeg。客户端程序代替 ffmpeg 接收命令行参数并转发给服务端守护进程,服务端运行打过补丁的 ffmpeg,并把所有文件读写通过连接回传给客户端。输入输出文件始终留在客户端,服务端不保存文件。
ffmpeg-over-ip 可以免费使用吗?用的什么许可证?
ffmpeg-over-ip 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
ffmpeg-over-ip 还在维护吗?
活跃维护中。ffmpeg-over-ip 最近一次提交是在 2026年10月19日。
ffmpeg-over-ip 适合用来做什么?
让运行在 Docker 容器中的 Jellyfin 或 Emby 调用其他主机的 GPU 进行转码。 在不做 PCIe 直通的情况下,让虚拟机使用宿主机的 GPU。 把转码任务从没有 GPU 的 NAS 或媒体服务器转移到带 GPU 的机器上。
ffmpeg-over-ip 怎么安装和运行?
在GPU机器上安装服务端(Linux/macOS) 在GPU机器上安装服务端(Windows PowerShell) 在媒体服务器机器上安装客户端(Linux/macOS) 在媒体服务器机器上安装客户端(Windows PowerShell)
在哪里获取 ffmpeg-over-ip?
源代码和安装说明在 GitHub 上:https://github.com/steelbrain/ffmpeg-over-ip

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目