Una imagen de Docker que ejecuta un cliente de Steam sin pantalla con escritorio y permite transmitir juegos a un navegador, Moonlight o Steam Link.
steelbrain/ffmpeg-over-ip
Ejecuta ffmpeg en una máquina remota con GPU desde cualquier cliente a través de un único puerto TCP, sin passthrough de GPU ni sistemas de archivos compartidos.
- Estrellas
- 1,192
- Forks
- 41
- Issues abiertos
- 6
- Último commit
- hace 15 horas
¿Qué es?
ffmpeg-over-ip permite que una aplicación en una máquina ejecute ffmpeg en otra que tenga una GPU. Un binario cliente reemplaza a ffmpeg: reenvía los argumentos de la línea de comandos a un daemon servidor, que ejecuta una versión parcheada de ffmpeg y tuneliza las lecturas y escrituras de archivos de vuelta al cliente. Los archivos de entrada y salida permanecen en el cliente; el servidor no los almacena.
El proyecto está pensado para entornos como contenedores Docker, máquinas virtuales y hosts remotos, donde obtener acceso directo a la GPU requeriría configurar el runtime, usar PCIe passthrough o montar sistemas de archivos NFS/SMB. Solo hace falta que se pueda acceder a un puerto TCP del servidor, y el cliente únicamente realiza conexiones salientes. Los comandos se autentican con HMAC-SHA256 y un secreto compartido. Pueden conectarse varios clientes a un mismo servidor, y cada uno obtiene su propio proceso de ffmpeg.
Los binarios de las versiones publicadas incluyen ffmpeg y ffprobe compilados mediante el pipeline de jellyfin-ffmpeg, con aceleración por hardware como NVENC, QSV, VAAPI, AMF y VideoToolbox. Hay clientes y servidores para Linux x86_64 y arm64, macOS y Windows x86_64.
Funciones clave
- 01Reenvía comandos de ffmpeg y ffprobe desde un cliente a un servidor remoto a través de un único puerto TCP.
- 02Tuneliza la E/S de archivos de vuelta al cliente, por lo que no se necesita un sistema de archivos compartido.
- 03Admite aceleración por hardware, como NVENC, QSV, VAAPI, AMF y VideoToolbox.
- 04Autentica cada comando con HMAC-SHA256 y un secreto compartido.
- 05Admite varios clientes simultáneos, cada uno con su propio proceso de ffmpeg.
- 06Transmite stdout y stderr en tiempo real y devuelve el código de salida de ffmpeg.
Casos de uso
- Permitir que un servidor Jellyfin o Emby en un contenedor Docker use para transcodificar la GPU de otro host.
- Dar acceso a una máquina virtual a la GPU del host sin PCIe passthrough.
- Delegar la transcodificación de un NAS o servidor multimedia sin GPU a una máquina que sí tenga una.
Inicio rápido
- 1
Instala el servidor en la máquina con GPU (Linux/macOS)
Instálalo siguiendo las instrucciones oficiales del README - 2
Instala el servidor en la máquina con GPU (Windows PowerShell)
Instálalo siguiendo las instrucciones oficiales del README - 3
Instala el cliente en la máquina del servidor multimedia (Linux/macOS)
Instálalo siguiendo las instrucciones oficiales del README - 4
Instala el cliente en la máquina del servidor multimedia (Windows PowerShell)
Instálalo siguiendo las instrucciones oficiales del README
Antes de usarlo
- La licencia está dividida: fio/ y patches/ usan GPL v3, mientras que el resto usa MIT.
- La configuración requiere un secreto compartido y ejecutar un servidor en la máquina con GPU, además de un cliente en cada máquina de servidor multimedia.
Temas
Preguntas frecuentes
- ¿Qué es ffmpeg-over-ip?
- Ejecuta ffmpeg en una máquina remota con GPU desde cualquier cliente a través de un único puerto TCP, sin passthrough de GPU ni sistemas de archivos compartidos. ffmpeg-over-ip permite que una aplicación en una máquina ejecute ffmpeg en otra que tenga una GPU. Un binario cliente reemplaza a ffmpeg: reenvía los argumentos de la línea de comandos a un daemon servidor, que ejecuta una versión parcheada de ffmpeg y tuneliza las lecturas y escrituras de archivos de vuelta al cliente. Los archivos de entrada y salida permanecen en el cliente; el servidor no los almacena.
- ¿ffmpeg-over-ip es gratuito? ¿Qué licencia tiene?
- ffmpeg-over-ip es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿ffmpeg-over-ip sigue mantenido?
- Mantenimiento activo. El último commit de ffmpeg-over-ip fue el 19 oct 2026.
- ¿Para qué puedo usar ffmpeg-over-ip?
- Permitir que un servidor Jellyfin o Emby en un contenedor Docker use para transcodificar la GPU de otro host. Dar acceso a una máquina virtual a la GPU del host sin PCIe passthrough. Delegar la transcodificación de un NAS o servidor multimedia sin GPU a una máquina que sí tenga una.
- ¿Cómo se instala ffmpeg-over-ip?
- Instala el servidor en la máquina con GPU (Linux/macOS) Instala el servidor en la máquina con GPU (Windows PowerShell) Instala el cliente en la máquina del servidor multimedia (Linux/macOS) Instala el cliente en la máquina del servidor multimedia (Windows PowerShell)
- ¿Dónde consigo ffmpeg-over-ip?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/steelbrain/ffmpeg-over-ip
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de código abierto para convertir HTML, CSS, contenido multimedia y animaciones con búsqueda por fotogramas en videos MP4 deterministas, pensado para agentes de programación con IA.
Biblioteca multiplataforma de filtros de imagen y video en C++ que funciona con OpenGL/ES e incluye efectos de belleza y basados en el rostro.
Interfaz gráfica de escritorio nativa para FFmpeg que permite controlar en detalle los ajustes de conversión de video, audio, imágenes, subtítulos y metadatos.
Interfaz web de Streamlit basada en yt-dlp que descarga videos sueltos o listas de reproducción y los organiza en carpetas que Plex, Jellyfin o Emby pueden explorar.
Compresor de video autoalojado con interfaz web que reduce clips a un tamaño de archivo objetivo mediante codificación con GPU o CPU a través de FFmpeg.