Imagem Docker que executa um cliente Steam headless com desktop, permitindo transmitir jogos para um navegador, Moonlight ou Steam Link.
steelbrain/ffmpeg-over-ip
Execute o ffmpeg em uma máquina remota com GPU a partir de qualquer cliente, por uma única porta TCP e sem passthrough de GPU nem sistemas de arquivos compartilhados.
- Estrelas
- 1,192
- Forks
- 41
- Issues abertas
- 6
- Último commit
- há 16 horas
O que é?
O ffmpeg-over-ip permite que um aplicativo em uma máquina execute o ffmpeg em outra máquina com GPU. Um binário cliente substitui o ffmpeg: ele encaminha os argumentos da linha de comando para um daemon servidor, que executa um ffmpeg com patches e encaminha todas as leituras e gravações de arquivos de volta ao cliente. Os arquivos de entrada e saída permanecem no cliente, e o servidor não os armazena.
O projeto é voltado a configurações como contêineres Docker, máquinas virtuais e hosts remotos em que obter acesso direto à GPU exigiria configuração de runtime, passthrough de PCIe ou montagens NFS/SMB. Basta que uma porta TCP do servidor esteja acessível, e o cliente só inicia conexões de saída. Os comandos são autenticados com HMAC-SHA256 usando um segredo compartilhado, e vários clientes podem se conectar a um servidor, cada um com seu próprio processo do ffmpeg.
Os binários de lançamento incluem ffmpeg e ffprobe compilados a partir do pipeline jellyfin-ffmpeg, com aceleração de hardware como NVENC, QSV, VAAPI, AMF e VideoToolbox. Há clientes e servidores para Linux x86_64 e arm64, macOS e Windows x86_64.
Recursos principais
- 01Encaminha comandos do ffmpeg e do ffprobe de um cliente para um servidor remoto por uma única porta TCP.
- 02Encaminha a E/S de arquivos de volta ao cliente, dispensando um sistema de arquivos compartilhado.
- 03Oferece suporte a aceleração de hardware, incluindo NVENC, QSV, VAAPI, AMF e VideoToolbox.
- 04Autentica cada comando com HMAC-SHA256 e um segredo compartilhado.
- 05Atende vários clientes simultaneamente, cada um com seu próprio processo do ffmpeg.
- 06Transmite stdout e stderr em tempo real e retorna o código de saída do ffmpeg.
Casos de uso
- Permitir que um servidor Jellyfin ou Emby em um contêiner Docker use a GPU de outro host para transcodificação.
- Dar acesso de uma máquina virtual à GPU do host sem passthrough de PCIe.
- Delegar a transcodificação de um NAS ou servidor de mídia sem GPU para uma máquina que tenha uma.
Início rápido
- 1
Instale o servidor na máquina com GPU (Linux/macOS)
Instale seguindo as instruções oficiais do README - 2
Instale o servidor na máquina com GPU (Windows PowerShell)
Instale seguindo as instruções oficiais do README - 3
Instale o cliente na máquina do servidor de mídia (Linux/macOS)
Instale seguindo as instruções oficiais do README - 4
Instale o cliente na máquina do servidor de mídia (Windows PowerShell)
Instale seguindo as instruções oficiais do README
Antes de usar
- A licença é dividida: fio/ e patches/ usam GPL v3, enquanto o restante usa MIT.
- A configuração requer um segredo compartilhado e a execução de um servidor na máquina com GPU, além de um cliente em cada máquina de servidor de mídia.
Tópicos
Perguntas frequentes
- O que é ffmpeg-over-ip?
- Execute o ffmpeg em uma máquina remota com GPU a partir de qualquer cliente, por uma única porta TCP e sem passthrough de GPU nem sistemas de arquivos compartilhados. O ffmpeg-over-ip permite que um aplicativo em uma máquina execute o ffmpeg em outra máquina com GPU. Um binário cliente substitui o ffmpeg: ele encaminha os argumentos da linha de comando para um daemon servidor, que executa um ffmpeg com patches e encaminha todas as leituras e gravações de arquivos de volta ao cliente. Os arquivos de entrada e saída permanecem no cliente, e o servidor não os armazena.
- ffmpeg-over-ip é gratuito? Qual é a licença?
- ffmpeg-over-ip é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ffmpeg-over-ip ainda é mantido?
- Manutenção ativa. O último commit de ffmpeg-over-ip foi em 19 de out. de 2026.
- Para que posso usar ffmpeg-over-ip?
- Permitir que um servidor Jellyfin ou Emby em um contêiner Docker use a GPU de outro host para transcodificação. Dar acesso de uma máquina virtual à GPU do host sem passthrough de PCIe. Delegar a transcodificação de um NAS ou servidor de mídia sem GPU para uma máquina que tenha uma.
- Como instalar ffmpeg-over-ip?
- Instale o servidor na máquina com GPU (Linux/macOS) Instale o servidor na máquina com GPU (Windows PowerShell) Instale o cliente na máquina do servidor de mídia (Linux/macOS) Instale o cliente na máquina do servidor de mídia (Windows PowerShell)
- Onde consigo ffmpeg-over-ip?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/steelbrain/ffmpeg-over-ip
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework open source para transformar HTML, CSS, mídia e animações navegáveis em vídeos MP4 determinísticos, criado para agentes de programação com IA.
Biblioteca multiplataforma de filtros de imagem e vídeo em C++ que usa OpenGL/ES e oferece efeitos de beleza e baseados em rostos.
Uma GUI desktop nativa para FFmpeg que oferece controle detalhado das configurações de conversão de vídeo, áudio, imagens, legendas e metadados.
Interface web em Streamlit baseada no yt-dlp para baixar vídeos avulsos ou playlists e organizá-los em pastas que o Plex, o Jellyfin ou o Emby possam indexar.
Um compressor de vídeo auto-hospedado com interface web que reduz clipes a um tamanho de arquivo definido usando codificação por GPU ou CPU via FFmpeg.