RTCPeerConnection

Use WebRTC a partir do Delphi/C++Builder — ICE para conectividade, DTLS 1.3 para o handshake de chaves, SRTP para mídia, SCTP-over-DTLS para DataChannels. Sem navegador necessário.

TsgcRTCPeerConnection

Peer WebRTC nativo para Delphi — espelha a superfície W3C RTCPeerConnection (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) suportada pelas stacks ICE, DTLS 1.3, SRTP e SCTP integradas.

Classe do componente

TsgcRTCPeerConnection

Protocolo

WebRTC (W3C)

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Enterprise

Offer / Answer / Conectar

Adicione servidores ICE, chame CreateOffer, envie o SDP ao peer remoto pelo seu canal de sinalização, defina o answer e o caminho de dados estará pronto.

uses
  sgcP2P;

var
  Peer: TsgcRTCPeerConnection;
  Channel: TsgcRTCDataChannel;
begin
  Peer := TsgcRTCPeerConnection.Create(nil);
  Peer.IceServers.Add('stun:stun.l.google.com:19302');

  Peer.OnLocalDescription := procedure(Sender: TObject;
    const aSDP: string)
  begin
    SignalToPeer(aSDP); // over your WebSocket / WebRTC signalling
  end;

  Peer.OnDataChannel := procedure(Sender: TObject;
    aChannel: TsgcRTCDataChannel)
  begin
    Channel := aChannel;
    aChannel.OnMessage := procedure(Sender: TObject;
      const aText: string)
    begin
      Memo1.Lines.Add(aText);
    end;
  end;

  // outbound side
  Channel := Peer.CreateDataChannel('chat');
  Peer.CreateOffer;
end;
// uses: sgcP2P
TsgcRTCPeerConnection *Peer = new TsgcRTCPeerConnection(this);
Peer->IceServers->Add("stun:stun.l.google.com:19302");
TsgcRTCDataChannel *Channel = Peer->CreateDataChannel("chat");
Peer->CreateOffer();

O que está incluído

Um peer WebRTC nativo que reúne ICE, DTLS 1.3, SRTP e SCTP em um único componente — espelhando a API W3C RTCPeerConnection.

SDP Offer / Answer

CreateOffer e CreateAnswer geram SDP RFC 8866 com os atributos corretos de ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP; SetRemoteDescription ingere o SDP do peer remoto.

Conectividade via ICE

Usa TsgcICEClient internamente para coleta de candidatos e verificações de conectividade; AddIceCandidate alimenta candidatos remotos conforme chegam do canal de sinalização.

Chaveamento DTLS 1.3

Após o par ICE selecionado se tornar gravável, o componente realiza o handshake DTLS 1.3 (RFC 9147) e deriva as chaves SRTP via SRTP-extractor.

DataChannels (SCTP-over-DTLS)

CreateDataChannel abre um stream SCTP multiplexado sobre DTLS — confiável / parcialmente confiável, ordenado / não ordenado, com backpressure via BufferedAmount.

Faixas de mídia

Faixas de áudio/vídeo trafegam via SRTP. O componente de sinalização do lado do servidor TsgcWSPServer_RTCPeerConnection permite criar relays no estilo SFU.

Compatível com navegadores

Interopera com o RTCPeerConnection do navegador — testado com Chromium / Firefox / Safari. Mesma semântica SDP, mesmos candidatos ICE, mesmo formato de wire do DataChannel.

Especificações & referências

Fontes oficiais do protocolo implementado por este componente.

Documentação & Demos

Acesse a referência do componente, obtenha o projeto de demo pronto para executar e baixe o trial.

Ajuda Online — TsgcRTCPeerConnection Referência completa de propriedades, métodos e eventos deste componente.
Projeto de Demo — Demos\35.P2P\05.RTCPeerConnection Projeto de exemplo pronto para executar. Incluído no pacote sgcWebSockets — baixe o trial abaixo.
Documento Técnico (PDF) Recursos, quick start, exemplos de código para Delphi & C++ Builder e referências primárias — somente este componente.
Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca.

Pronto para Executar WebRTC no Delphi?

Baixe o trial gratuito e adicione RTCPeerConnection nativo às suas aplicações Delphi.