You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tela nativa: formato de vídeo só vale para H.264; transmissão AV1 falha e codec fica travado #890
Depois do #887 (formato Compatível de tela no desktop), a transmissão de tela nativa deixou de funcionar quando o encoder escolhido é AV1, e o seletor de codec ficou travado.
Sintomas
Transmitir tela falha sempre. No log do cliente (%APPDATA%\@monky\client\client-logs\*.jsonl) aparece, com o encoder av1_texture_amf e screenFormat: "main": An AV1 screen has no H.264 profile. [monky-screen-failure {"codes":["ERR_ASSERTION"]}]
apps/client/src/main/nativeScreenSharing.ts (createEndpoint, ~linha 551) passa h264Profile ao NativeScreenEndpoint mesmo com codec AV1.
apps/client/native/screen-share/runtime/nativeEndpoint.cjs:73-75 recusa h264Profile quando source.codec === 'av1' (assert.notEqual(source.codec, 'av1', 'An AV1 screen has no H.264 profile.')).
apps/client/src/renderer/views/ScreenEncodingControls.ts (~linhas 187-194 e 448) força codec: 'h264' quando o formato é compatible, travando o seletor de codec e o automático.
O modo padrão é alta qualidade (formato main), sem restrição de codec.
O modo automático sempre escolhe a melhor qualidade disponível, ou seja AV1 quando houver suporte.
O seletor de codec continua funcionando no modo manual.
O parâmetro h264Profile só é enviado ao pipeline quando o codec é H.264.
Layout / UX
A opção Formato de vídeo (Alta qualidade / Compatível) é exclusiva do H.264. Só aparece quando o codec de transmissão é H.264, e deixa claro que vale só para ele.
Ela fica abaixo de "Codificação de tela" (Configurações > Qualidade e no seletor de compartilhamento).
Com AV1 (ou automático resolvendo para AV1) a opção não aparece nem tem efeito.
Textos nos dois locales (pt-BR e en). Sem checkbox nativo: usar renderChoiceCards.
Critérios de aceite
Transmitir com AV1 (automático e manual) funciona.
Automático escolhe AV1 quando disponível.
Codec pode ser alterado manualmente com qualquer formato.
Formato de vídeo só aparece com H.264, abaixo de Codificação de tela.
Teste de regressão: h264Profile não é enviado com AV1, e o automático não é forçado a H.264 pelo formato.
Resumo Didático: o "Formato do vídeo" (Compatível/Melhor qualidade) é uma opção do H.264, mas era aplicado também ao AV1, e isso fazia a transmissão AV1 falhar. Agora:
o formato só aparece e só vale com H.264, abaixo de "Codificação de tela";
o automático volta a escolher AV1 quando a placa permite;
o codec não fica mais travado.
Outras mudanças no mesmo PR:
trocar o codec, o modo ou o formato durante a transmissão reinicia a live com o novo encoder;
o select mostra "Carregando" em vez de ficar vazio;
a live AMD no formato Compatível volta a ser assistida;
máquinas sem GPU compatível recebem um aviso claro.
Activity
feat: resolve as issues do backlog (#877, #874, #881, #878, #890, #861,
feat: resolve as issues do backlog (#877, #874, #881, #878, #890, #861,
lucastaonline commentedon Nov 6, 2026
💡 Como foi implementado & Decisões Técnicas
capture/host.cpp,contract.h,mf_rtc_policy.cc;screenEncodingPolicy.ts,nativeScreen/encoderDiscovery.ts;ScreenEncodingControls.ts,QualityTab.ts,nativeScreen/LocalScreenSources.ts,screenShareFailure.ts;nativeScreenIpc.ts,screenShareFailures.ts.🧪 Como testar
Entregue no PR #891.