Resumo

  • A RFC 9626 expõe fora da carga cifrada uma descrição compacta de limites, independência temporal, descartabilidade e camadas, para que o switch RTP escolha o que encaminhar sem decodificar a imagem.
  • A autenticação SRTP atribui a marca a um par e protege sua integridade. Ela não prova que o bit corresponde à carga, que o receptor dispõe das dependências nem que o quadro chegou à tela.
  • Uma cadeia responsável liga negociação, extração no emissor, política de visibilidade, decisão do switch, entrega, estado do decodificador e resultado renderizado.

O controle de congestionamento apertou. O SFU descartou os quadros que vinham com D, retirou a camada temporal mais alta e entregou menos bytes. Para o centro da rede, o plano funcionou. Na ponta, um decodificador esperava uma referência e só se recompôs quando chegou outra imagem independente.

Não há contradição entre os dois relatos. Há duas autoridades observando partes diferentes da chamada.

Publicada como Experimental em março de 2025, a RFC 9626 permite que uma conferência preserve a mídia privada cifrada de ponta a ponta e ainda dê ao switch RTP informação suficiente para trocar o participante ativo, selecionar fluxos e reduzir camadas. O mecanismo coloca estrutura de quadro numa extensão do cabeçalho, fora do conteúdo de vídeo.

É uma delegação limitada: o intermediário ganha poder para encaminhar, não para ver. O limite deixa de funcionar quando a organização trata a descrição recebida como prova independente do vídeo ou como recibo da experiência do usuário.

A marca compacta vários fatos que não se substituem

No formato curto, S e E identificam primeiro e último pacote de um quadro em determinada camada. I afirma independência de quadros temporalmente anteriores. D afirma que o emissor sabe que aquele quadro pode ser descartado sem tornar indecodificável o restante do fluxo.

O formato longo soma B, TID, LID e TL0PICIDX. TID situa o quadro na hierarquia temporal; LID, numa hierarquia espacial ou de qualidade; TL0PICIDX rotula uma imagem da camada temporal base ou a imagem base da qual uma melhoria depende. B marca um ponto em que uma camada temporal não básica pode se sincronizar com a base.

Esses campos são pequenos justamente porque não carregam o modelo inteiro. I fala de independência temporal, e uma camada espacial superior ainda pode depender da inferior no mesmo instante. TID e LID são posições relativas, não frequência, resolução ou taxa de bits absolutas. Tampouco enumeram cada aresta de dependência.

B evidencia uma fonte invisível de conhecimento. Para H.264 e H.265, a RFC reconhece que inspecionar cabeçalhos simples da carga pode ser insuficiente. A implementação pode precisar consultar a interface interna do codec. O switch recebe o resultado em um bit, sem acesso ao raciocínio ou ao estado que o produziu.

A conformidade é uma obrigação no emissor

A RFC determina que as marcas representem o que existe na carga RTP. Há mapeamentos para VP8, VP9, H.264 e H.265; formatos futuros devem declarar como suas camadas se relacionam a TID e LID. Essa regra permite que produtos diferentes compartilhem uma semântica.

Ela não dá ao switch cifrado um segundo olhar sobre a carga.

Antes da cifragem, um teste pode comparar descritores de payload ou eventos internos do codificador com S/E/I/D/B/TID/LID/TL0PICIDX. Depois, o SFU geralmente não pode reabrir a mídia para verificar se I era de fato independente ou se D podia ser removido. Um mapeamento errado, estado atrasado ou regressão de versão pode produzir uma marca perfeitamente autenticada e semanticamente falsa.

SRTP responde por origem e integridade. Ele prova que o par aceito enviou aqueles bits e que uma alteração não autorizada seria detectada. Não prova que a afirmação do par coincide com a verdade do codec. “Quem declarou?” e “a declaração era correta?” precisam de evidências diferentes.

Por isso, a aprovação de uma versão deve testar falhas deliberadas: quadro preditivo com I; referência com D; fronteiras incompatíveis com timestamp, agrupamento e marcador RTP; índices que saltam sem causa; ponto de troca sem todas as camadas espaciais; indisponibilidade da interface que alimenta B. Ver a extensão no pacote não basta.

O descarte fecha uma decisão, não um resultado

Quando há congestionamento, a RFC orienta o descarte de quadros D e das camadas temporais ou espaciais/de qualidade mais altas. Ao iniciar o encaminhamento de um fluxo, recomenda um ponto em que I esteja presente nas camadas espaciais relevantes.

O SFU pode demonstrar que executou essas regras. D, contudo, expressa o conhecimento do emissor, não o histórico de perda e o buffer de referências de cada receptor. Um ponto I elegível não garante que todos os seus pacotes chegarão antes do prazo de reprodução, nem que o decodificador não tem defeito local.

A RFC 9627 acrescenta a solicitação de atualização de camada; um FIR pode pedir uma nova imagem intra. Solicitar não é receber. Ainda é preciso provar ação no codificador, travessia na rede, aceitação pelo decodificador e entrada na janela de renderização.

Um recibo operacional completo, portanto, conecta o que foi marcado, o que o switch viu, por que encaminhou ou descartou, o que chegou, quais dependências estavam disponíveis e o que apareceu na tela. A frase “o SFU seguiu a marca” termina a auditoria da decisão central; não termina a auditoria da entrega.

A extensão escolhe a plateia dos metadados

Sob SRTP, extensões de cabeçalho são autenticadas e podem ser cifradas. Se o switch for um par SRTP, ele pode ler a marca cifrada mesmo sem acesso à mídia privada de ponta a ponta. Outros equipamentos no caminho não recebem essa visibilidade.

Também se pode deixar a marca em claro para que mais middleboxes descartem tráfego de forma inteligente. A contrapartida é revelar, com precisão, limites de quadros, mudanças de camada e intervalos de imagens independentes. Sem a marca, tamanhos de pacotes cifrados já permitem inferir estatisticamente alguns keyframes. A sinalização explícita transforma uma estimativa em dado confiável.

Logo, esconder pixels não esconde necessariamente o ritmo da comunicação. RFC 9335 oferece o mecanismo para cifrar completamente extensões RTP e fontes contribuintes; RFC 8871 dá o contexto de conferência com mídia privada. Nenhuma escolhe quem pode observar, por quanto tempo ou para qual finalidade. Isso continua sendo responsabilidade de governança.

O significado depende da oferta e da resposta

A URI urn:ietf:params:rtp-hdrext:framemarking recebe, via extmap da RFC 8285, um identificador local à sessão. Outra sessão pode usar o mesmo número para outra extensão; uma renegociação pode mudar a direção ou desativá-la.

Uma captura isolada não é recibo suficiente. A auditoria deve preservar URI, número local, direção, proteção e intervalo de validade. Um switch não está “seguindo RFC 9626” apenas porque interpretou bytes familiares; a extensão precisava estar efetivamente negociada naquele sentido.

RFC 9628 mostra como a estrutura escalável de VP9 se liga ao mesmo vocabulário. Uma versão do codificador pode mudar a extração, e uma versão do SFU pode mudar a decisão. Essas duas mudanças formam uma única superfície operacional e devem ser qualificadas em conjunto.

Sources