A transcodificação por hardware geralmente desaparece após uma atualização porque o contentor recriado deixou de detetar o mesmo dispositivo, grupo de permissões, capacidade do runtime ou pilha de espaço de utilizador compatível.
A GPU do anfitrião pode continuar a funcionar enquanto o Plex, Jellyfin, Emby ou uma aplicação de câmaras recorre silenciosamente à CPU depois de a imagem ser substituída. A primeira tarefa é confirmar se o dispositivo existe dentro do novo contentor e se o utilizador do serviço consegue abri-lo; em seguida, deve separar o mapeamento do runtime e as permissões de uma regressão específica da imagem ao nível dos codecs ou controladores.
Confirme se a carga de trabalho recorreu realmente ao software
Force um ficheiro que exija transcodificação e registe o painel do servidor multimédia, o registo do FFmpeg ou do transcodificador, a utilização da CPU no anfitrião e a atividade do motor da GPU. A reprodução direta não testa o percurso de hardware.
Um caso na comunidade LinuxServer recomenda verificar um indicador explícito de hardware e a telemetria da GPU, porque a atividade da CPU, por si só, pode induzir em erro. O fator distintivo útil é a utilização ativa do motor da GPU durante uma transcodificação controlada.
Se os registos mostrarem que o codificador de hardware foi aberto com sucesso, investigue filtros não suportados, legendas, mapeamento de tons ou aceleração parcial. Se não for possível abrir o dispositivo, continue com a deteção no anfitrião e o acesso a partir do contentor.
Compare os dispositivos da GPU no anfitrião e dentro do contentor
Apresente os nós de dispositivo esperados no anfitrião e dentro do contentor atualizado. Para VA-API da Intel ou AMD, compare /dev/dri/card* e /dev/dri/renderD*; para NVIDIA, compare a visibilidade no runtime e os dispositivos apresentados pela respetiva ferramenta de gestão.
Um caso de Quick Sync no Unraid mostra que o anfitrião pode precisar do módulo de kernel correto antes de /dev/dri existir, e que o contentor continua a precisar que esse dispositivo seja disponibilizado. O limite em falta é frequentemente o mapeamento do dispositivo /dev/dri, e não a biblioteca multimédia ou a base de dados da aplicação.
Se o dispositivo estiver ausente no anfitrião, corrija primeiro o controlador, a BIOS, o kernel ou o estado do hardware do anfitrião. Se existir no anfitrião, mas não dentro do contentor, compare a configuração de dispositivos gerada pela composição ou pela interface anterior e atual.
Verifique o acesso aos grupos render e video
Registe os IDs numéricos do proprietário e do grupo dos nós de dispositivo da GPU no anfitrião e, em seguida, verifique os grupos atribuídos ao utilizador do serviço dentro do contentor. Nomes como render podem corresponder a IDs numéricos diferentes entre imagens.
Um caso de resolução de problemas do Jellyfin em Docker mostra uma configuração funcional que correspondia explicitamente ao ID do grupo render do anfitrião e verificava as permissões de renderD128. Esse mapeamento numérico do grupo render pode mudar quando uma imagem altera os seus utilizadores ou grupos internos.
Adicione o grupo suplementar necessário através da definição do contentor, em vez de tornar o dispositivo acessível a todos. Recrie o contentor e teste o acesso com o utilizador efetivamente utilizado pelo serviço multimédia.
Verifique os sinalizadores do runtime e as capacidades específicas da imagem
Compare as definições das imagens anterior e atual relativamente a devices, group_add, definições do runtime da GPU, variáveis de capacidade, modo privilegiado e quaisquer alterações nos modelos do gestor de contentores.
Um relatório do Emby descreve a interrupção da aceleração por hardware no Docker enquanto a aplicação continuava disponível, ilustrando o recurso ao software após a perda da GPU, o que torna este problema fácil de ignorar.
Não resolva um problema limitado de acesso ao dispositivo concedendo acesso privilegiado amplo. Restaure apenas as permissões mínimas de dispositivo e grupo necessárias ao percurso do codificador.
Separe uma regressão da imagem do contentor de uma falha do anfitrião
Execute um teste simples da GPU ou do FFmpeg no contentor atualizado e compare-o com a imagem anterior fixada, utilizando os mesmos volumes, mapeamentos de dispositivos, ficheiro multimédia e configuração da aplicação.
Se a imagem anterior funcionar imediatamente e a nova falhar com um estado de runtime idêntico, guarde os registos e trate a atualização como uma regressão do espaço de utilizador, dos codecs, do FFmpeg ou da aplicação. Não reescreva repetidamente as permissões quando a comparação controlada entre imagens já isolou a versão responsável.
Limpe apenas as caches de codecs regeneráveis documentadas quando os registos apontarem para essa causa e mantenha intactas a base de dados da aplicação e os metadados multimédia. Fixe a imagem conhecida como funcional até a regressão ser compreendida ou corrigida.
Valide todo o percurso após a reparação
Teste a descodificação por hardware, a codificação, o mapeamento de tons, a aplicação permanente de legendas e, pelo menos, um cliente que force a transcodificação. Confirme que o dispositivo esperado da GPU aparece nos registos e que o anfitrião apresenta atividade contínua do motor.
O procedimento da ZimaSpace para verificar uma transcodificação real por hardware proporciona um teste de conclusão mais sólido do que um interruptor na página de definições.
O problema só está resolvido quando o contentor atualizado ou fixado mantém o acesso ao dispositivo após ser recriado e reiniciado, utiliza a GPU para o percurso de codecs pretendido e deixa de recorrer silenciosamente ao software. Mantenha o resumo da imagem anterior e a definição do runtime como limite de reversão para a próxima atualização.
Suporte e Dicas
Mais para Ler

O Plex pode partilhar uma GPU com outro contentor Docker?
O Plex e outro contentor conseguem frequentemente aceder à mesma GPU, mas é necessário testar o suporte dos controladores, o mapeamento de dispositivos, a...

Como saber se um erro do Plex vem do cliente ou do servidor
Reproduza o mesmo item noutro cliente, compare o percurso da sessão e, em seguida, recolha provas do servidor apenas depois de o âmbito lhe...

Como configurar a cache do Plex e o armazenamento temporário de transcodificação
Proteja o estado persistente do Plex enquanto coloca os ficheiros temporários de transcodificação num armazenamento local adequado e, em seguida, verifique a limpeza, o...

