RTCPeerConnection

Habla WebRTC desde Delphi/C++Builder — ICE para conectividad, DTLS 1.3 para el handshake de claves, SRTP para media, SCTP-sobre-DTLS para DataChannels. Sin necesidad de navegador.

TsgcRTCPeerConnection

Peer WebRTC nativo en Delphi — replica la superficie de RTCPeerConnection del W3C (CreateOffer / CreateAnswer / SetRemoteDescription / AddIceCandidate / DataChannel) respaldada por las pilas ICE, DTLS 1.3, SRTP y SCTP incluidas.

Clase del componente

TsgcRTCPeerConnection

Protocolo

WebRTC (W3C)

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Enterprise

Offer / Answer / Conectar

Añade servidores ICE, CreateOffer, envía el SDP al par remoto por tu canal de señalización, establece el answer, y la ruta de datos se activa.

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); // sobre tu señalización WebSocket / WebRTC
  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;

  // lado saliente
  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();

Qué incluye

Un peer WebRTC nativo que agrupa ICE, DTLS 1.3, SRTP y SCTP en un solo componente — replicando la API RTCPeerConnection del W3C.

SDP Offer / Answer

CreateOffer y CreateAnswer generan SDP de RFC 8866 con los atributos correctos ICE-UFRAG / ICE-PWD / FINGERPRINT / SETUP; SetRemoteDescription ingiere el SDP del par.

Conectividad por ICE

Usa TsgcICEClient internamente para la recopilación de candidatos y comprobaciones de conectividad; AddIceCandidate alimenta los candidatos remotos a medida que llegan por la señalización.

Cifrado de claves DTLS 1.3

Tras que el par ICE seleccionado se vuelve escribible, el componente realiza un handshake DTLS 1.3 (RFC 9147) y deriva las claves SRTP mediante SRTP-extractor.

DataChannels (SCTP-sobre-DTLS)

CreateDataChannel abre un stream SCTP multiplexado sobre DTLS — fiable / parcialmente fiable, ordenado / no ordenado, con backpressure mediante BufferedAmount.

Pistas de media

Las pistas de audio / vídeo viajan por SRTP. El componente complementario TsgcWSPServer_RTCPeerConnection de señalización del lado servidor te permite construir relays tipo SFU.

Compatible con navegadores

Interopera con RTCPeerConnection de los navegadores — probado contra Chromium / Firefox / Safari. Mismas semánticas SDP, mismos candidatos ICE, mismo formato de cable DataChannel.

Especificaciones y referencias

Fuentes autorizadas del protocolo que implementa este componente.

Documentación y demos

Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.

Ayuda en línea — TsgcRTCPeerConnection Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — Demos\35.P2P\05.RTCPeerConnection Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca.

¿Listo para ejecutar WebRTC en Delphi?

Descarga la prueba gratuita y añade RTCPeerConnection nativo a tus aplicaciones Delphi.