Entenda o protocolo RTP, sequence number, timestamp, payload type, uso sobre UDP e TCP e sua função no streaming de vídeo e no ecossistema ONVIF.
Confira!
O RTP — Real-time Transport Protocol é um protocolo criado para transportar dados com características de tempo real, como áudio e vídeo, entre aplicações. Ele adiciona informações essenciais para que o receptor identifique o tipo de payload, reconstrua a sequência dos pacotes e interprete a temporização do fluxo, sem prometer reserva de recursos ou qualidade de serviço por si só.
O que é o protocolo RTP
A especificação-base do RTP está no RFC 3550, publicado como Internet Standard STD 64. O documento define RTP e RTCP como partes estreitamente relacionadas de uma mesma arquitetura: RTP transporta a mídia; RTCP fornece funções de controle e monitoramento da sessão.
RTP foi projetado para funcionar independentemente da camada de transporte subjacente, embora seja muito comum utilizá-lo sobre UDP. Essa combinação favorece aplicações em que a continuidade temporal é mais importante do que recuperar cada pacote perdido.
Como funciona o RTP
Cada pacote RTP carrega um cabeçalho com informações que ajudam o receptor a interpretar o fluxo. Entre os campos mais importantes estão sequence number, timestamp, payload type e SSRC.
O número de sequência aumenta a cada pacote RTP e permite detectar perdas e reordenação. O timestamp representa a posição temporal da mídia de acordo com o clock definido pelo payload. O payload type identifica o formato ou a regra de interpretação associada à carga útil. O SSRC identifica a fonte de sincronização dentro da sessão.
Sequence number e perda de pacotes
O RTP não retransmite automaticamente pacotes perdidos. Em vez disso, o número de sequência permite que a aplicação perceba que houve uma lacuna.
A partir dessa informação, o sistema pode aplicar estratégias compatíveis com a mídia e com o perfil utilizado. Em vídeo, isso pode significar tolerar a perda, solicitar um novo quadro intra, usar mecanismos adicionais de feedback ou reconstrução, dependendo do protocolo e da aplicação.
Timestamp e reprodução em tempo real
O timestamp RTP não é simplesmente o horário do relógio do dispositivo. Ele representa a temporização da mídia segundo uma frequência de clock definida para aquele tipo de payload.
Essa informação ajuda o receptor a reproduzir pacotes no ritmo correto, construir buffers de jitter e sincronizar fluxos. Em sessões com áudio e vídeo, RTCP pode fornecer informações adicionais para correlacionar clocks e permitir sincronização entre mídias.
RTP e codecs
RTP não define sozinho como H.264, H.265, áudio ou outros formatos são encapsulados. Cada codec ou formato utiliza uma especificação de payload que define como os dados devem ser mapeados nos pacotes RTP.
Isso é importante porque “RTP” e “H.264” não são tecnologias concorrentes. H.264 define compressão de vídeo; RTP fornece uma estrutura de transporte para levar unidades desse conteúdo em tempo real.
RTP sobre UDP
RTP é frequentemente transportado sobre UDP porque a ausência de retransmissão e ordenação obrigatórias no transporte reduz o risco de bloquear mídia nova enquanto um dado antigo é recuperado.
A contrapartida é que a aplicação precisa lidar com perda, jitter e reordenação. Em redes de vídeo IP, a qualidade do projeto de switching, roteamento, QoS, multicast e capacidade dos enlaces influencia diretamente o comportamento do fluxo.
RTP sobre TCP
Embora UDP seja muito comum, RTP não está tecnicamente restrito a ele. Em determinados cenários, mídia pode ser intercalada ou transportada sobre uma conexão confiável, inclusive quando firewalls ou NAT dificultam o uso de portas UDP separadas.
O trade-off é que a entrega ordenada do TCP pode aumentar latência quando há perda, pois bytes posteriores aguardam a recuperação da sequência ausente.
RTP no ONVIF
Em sistemas ONVIF, RTP é um elemento central do streaming de mídia. Normalmente, um cliente utiliza serviços ONVIF para descobrir capabilities e obter informações do stream, RTSP para controlar a sessão e RTP para transportar efetivamente áudio, vídeo e eventualmente outros dados em tempo real.
Essa separação de funções explica por que ONVIF não deve ser descrito como “o protocolo que envia o vídeo”. Ele coordena interoperabilidade entre serviços que utilizam diferentes protocolos.
RTP versus RTSP
| Função | RTP | RTSP |
| Principal objetivo | Transportar mídia em tempo real | Controlar a sessão de streaming |
| Carrega vídeo/áudio | Sim | Normalmente não é o transporte principal da mídia |
| Métodos como PLAY/PAUSE | Não | Sim |
| Temporização de mídia | Sim, por timestamp | Controla estado e entrega |
| RFC-base | RFC 3550 | RFC 7826 para RTSP 2.0 |
RTSP pode configurar como a mídia será entregue, enquanto RTP executa o transporte do conteúdo conforme os parâmetros definidos.
RTP é seguro?
O RTP básico não fornece confidencialidade criptográfica, autenticação de mensagem ou proteção contra replay. Para essas propriedades, existe o SRTP — Secure Real-time Transport Protocol, definido no RFC 3711 e atualizado por RFCs posteriores.
Portanto, chamar um fluxo RTP comum de “secure streaming” apenas porque ele usa ONVIF ou porque a sessão de controle utiliza HTTPS seria incorreto. É necessário identificar qual mecanismo protege a mídia.
O papel do RTCP
RTCP complementa RTP com relatórios e informações de controle sobre participantes e qualidade de entrega. Métricas relacionadas a perda, jitter e temporização ajudam aplicações a avaliar o comportamento da sessão.
RTP e RTCP devem ser analisados em conjunto quando o objetivo é compreender o desempenho do streaming, mas cada um merece tratamento separado porque possui funções distintas.
Referências técnicas
[1] SCHULZRINNE, H.; CASNER, S.; FREDERICK, R.; JACOBSON, V. RFC 3550: RTP: A Transport Protocol for Real-Time Applications. RFC Editor, 2003.
[2] ONVIF. Profile T — For advanced video streaming.
Perguntas frequentes
RTP é um protocolo para transporte de dados em tempo real, como áudio e vídeo, com campos de sequência, timestamp, tipo de payload e identificação da fonte.
A especificação-base é o RFC 3550, Internet Standard STD 64, atualizado por diversos RFCs posteriores.
RTP é independente do transporte subjacente, mas é frequentemente usado sobre UDP. Também pode ser transportado por outros mecanismos em cenários específicos.
Não. O RTP básico não oferece confidencialidade. Para proteção criptográfica da mídia pode ser utilizado SRTP.
