sgcWebRTC Chiamate e dati, peer to peer. Nessun browser all'interno.

sgcWebRTC è il motore multimediale WebRTC per Delphi e C++ Builder. Aggiungi alle tue applicazioni chiamate audio e video in tempo reale, condivisione dello schermo e canali dati SCTP, cifrati con DTLS-SRTP e interoperabili con RTCPeerConnection in qualsiasi browser. È Object Pascal compilato che richiama direttamente le API multimediali del sistema operativo, senza WebView e senza ponte JavaScript nel tuo processo.

  • Delphi
  • C++ Builder
  • Windows, Linux, macOS
  • iOS & Android
  • STUN / TURN / ICE
  • Nessuna WebView richiesta
IL TUO CANALE DI SEGNALAZIONE WebSocket, HTTP, qualsiasi cosa offerta SDP risposta SDP + candidati ICE trickle App Delphi TsgcRTCPeerConnection audio · Opus video · H.264 canale dati 'chat' nessuna WebView nel processo Browser o Delphi RTCPeerConnection OnAudio OnVideoFrame OnMessage JSEP, RFC 8829 DTLS-SRTP RTP media + SCTP data STUN indirizzo pubblico TURN relay se bloccato ICE La segnalazione passa dal tuo server. I contenuti multimediali vanno direttamente tra i peer.
  • 1Componente per l'intera connessione peer
  • 5Piattaforme: Windows, Linux, macOS, iOS e Android
  • 5Codec: Opus, G.711, VP8, H.264 e Motion JPEG
  • 100%Dei pacchetti RTP, RTCP e SCTP cifrati
  • 0Browser o WebView nel tuo processo
Guardalo in azione

Vedi sgcWebRTC in due minuti.

Contenuti multimediali e canali dati peer-to-peer da Delphi: STUN, TURN, ICE e RTCPeerConnection, da browser a nativo. Con voce narrante e sottotitoli. Non viene scaricato nulla finché non premi play.

Un solo componente

L'intera connessione peer su un unico oggetto.

sgcWebRTC non aggiunge nuovi componenti alla palette. Sblocca il resto della superficie modellata sul W3C dello stesso TsgcRTCPeerConnection incluso in sgcWebSockets Enterprise: segnalazione, connettività, cifratura, canali dati e contenuti multimediali.

Segnalazione compatibile con i browser

CreateOffer, CreateAnswer, SetLocalDescription, SetRemoteDescription e AddIceCandidate creano e consumano SDP reali. Rinegoziazione, riavvio ICE e la regola glare della perfect negotiation del W3C sono già integrati.

Vedi il componente →

STUN, TURN e ICE

Raccolta ICE trickle o non trickle su RTCOptions.ICEServers, con candidati server-reflexive da STUN e candidati relayed da TURN quando un percorso diretto è bloccato.

Cifratura DTLS-SRTP

Un handshake DTLS sulla coppia ICE nominata deriva le chiavi SRTP, e ogni pacchetto RTP, RTCP e SCTP è cifrato fin dal primo. Per i contenuti multimediali non si può disattivare, lo stesso modello imposto da un browser.

Tracce audio e video

AddTrack collega una traccia audio Opus o G.711, oppure una traccia video VP8, H.264 o Motion JPEG. H.264 usa l'encoder hardware della piattaforma: Media Foundation, VideoToolbox o MediaCodec.

Matrice di codec e piattaforme →

Canali dati SCTP

CreateDataChannel apre un canale ordinato o non ordinato, affidabile o parzialmente affidabile (RFC 8831/8832). Send, SendBytes, OnMessage e OnMessageBinary trasferiscono payload di testo e binari.

Bitrate adattivo

Uno stimatore basato sul ritardo, nello stile di Google Congestion Control, guida il bitrate di destinazione dell'encoder video, con il supporto di RTCP NACK e PLI, RTX (RFC 4588) e RED/ULPFEC.

Guida rapida

Un'offerta e un canale dati.

Imposta un server ICE, collega gli eventi SDP e ICE, apri un canale dati, poi crea l'offerta. La stessa API in Delphi e in C++ Builder.

uses
  sgcP2P;
var
  oRTC: TsgcRTCPeerConnection;
begin
  oRTC := TsgcRTCPeerConnection.Create(nil);
  oRTC.RTCOptions.ICEServers.AddURL('stun:stun.l.google.com:19302');
  oRTC.OnLocalDescription := OnLocalDescriptionHandler;
  oRTC.OnICECandidate := OnICECandidateHandler;
  oRTC.OnConnectionStateChange := OnConnectionStateChangeHandler;
  oRTC.OnDataChannel := OnDataChannelHandler;
  oRTC.CreateDataChannel('chat'); // forces RTCOptions.DTLS on
  oRTC.CreateOffer; // gathers ICE candidates, builds the SDP offer
end;

procedure TForm1.OnLocalDescriptionHandler(Sender: TObject;
  const aType, aSDP: string);
begin
  // send aType + aSDP to the remote peer over your own signaling channel
end;

procedure TForm1.OnDataChannelHandler(Sender: TObject;
  aChannel: TsgcRTCDataChannel);
begin
  aChannel.OnMessage := OnChannelMessageHandler;
  aChannel.Send('hello');
end;
// includes: sgcP2P.hpp
TsgcRTCPeerConnection *oRTC = new TsgcRTCPeerConnection(NULL);
oRTC->RTCOptions->ICEServers->AddURL("stun:stun.l.google.com:19302");
oRTC->OnLocalDescription = OnLocalDescriptionHandler;
oRTC->OnICECandidate = OnICECandidateHandler;
oRTC->OnConnectionStateChange = OnConnectionStateChangeHandler;
oRTC->OnDataChannel = OnDataChannelHandler;
oRTC->CreateDataChannel("chat"); // forces RTCOptions->DTLS on
oRTC->CreateOffer(); // gathers ICE candidates, builds the SDP offer

void __fastcall TForm1::OnLocalDescriptionHandler(TObject *Sender,
  const String aType, const String aSDP)
{
  // send aType + aSDP to the remote peer over your own signaling channel
}

void __fastcall TForm1::OnDataChannelHandler(TObject *Sender,
  TsgcRTCDataChannel *aChannel)
{
  aChannel->OnMessage = OnChannelMessageHandler;
  aChannel->Send("hello");
}
  1. Punta a un server STUN o TURNAggiungi i server ICE a RTCOptions.ICEServers. I candidati vengono raccolti su di essi, in modalità trickle o tutti insieme.
  2. Trasporta l'SDP sul tuo canaleOnLocalDescription ti fornisce l'offerta o la risposta, OnICECandidate ogni candidato. Inviali tramite qualsiasi server di segnalazione, esattamente come fa un'applicazione browser.
  3. Parla da peer a peerUna volta completato l'handshake DTLS, i canali dati si aprono e le tracce audio e video fluiscono direttamente tra i peer, cifrate.

Questo è un lato dello scambio. L'altro lato, il relay di segnalazione e le tracce multimediali sopra di esso sono nella guida alle attività.

Due app Delphi, peer to peer

Dove si inserisce

WebRTC senza incorporare un browser.

Altri approcci a WebRTC in Delphi incorporano un intero motore browser e ne pilotano da Pascal lo stack JavaScript. sgcWebRTC richiama direttamente le API multimediali del sistema operativo, il che mantiene piccolo l'eseguibile e permette allo stesso componente di funzionare anche dove non è installato alcun browser.

Da app Delphi a browser

L'SDP standard e la macchina a stati JSEP (RFC 8829) permettono a un client nativo Delphi o C++ Builder di chiamare RTCPeerConnection in una pagina web, e viceversa.

Da app Delphi a app Delphi

Due applicazioni native scambiano audio, video e canali dati direttamente, con la sola segnalazione che passa dal tuo server.

Leggi la guida alle attività →

Mobile, headless e chiosco

Nessun binario Chromium incorporato significa che lo stesso componente funziona su Android e iOS, e nei servizi headless o nei dispositivi kiosk senza alcun browser installato.

Condivisione dello schermo e assistenza remota

Cattura il desktop, un monitor, una finestra o un'area su Windows, cursore incluso, e trasmettila come traccia video con un canale dati affiancato.

Chiamate vocali e video

I backend nativi di cattura di fotocamera e microfono su Windows, Linux, piattaforme Apple e Android alimentano direttamente le tracce, e i backend di rendering mostrano il video remoto.

Collegamenti dati a bassa latenza

Usa i canali dati da soli per chat, telemetria, trasferimento di file o stato di gioco, con affidabilità e ordinamento scelti per ogni canale.

Licenze

Un componente aggiuntivo di sgcWebSockets Enterprise.

sgcWebRTC sblocca il motore multimediale sul TsgcRTCPeerConnection che sgcWebSockets Enterprise include già con la connettività ICE e TURN. Non è disponibile per Standard o Professional. Ogni licenza include il codice sorgente completo e un anno di aggiornamenti.

sgcWebSockets Enterprise

La base su cui si appoggia: client STUN, TURN e ICE, il TsgcRTCPeerConnection di base, più WebSocket, HTTP/2, MQTT e il resto della libreria.

€699 / sviluppatore

sgcWebRTC

Segnalazione SDP, DTLS-SRTP, canali dati SCTP, tracce audio e video, cattura dello schermo e stima della banda. Licenze Single, Team e Site.

€299 / sviluppatore

Bundle All-Access

Tutti i prodotti eSeGeCe per un anno, Delphi e .NET, con sgcWebSockets Enterprise e sgcWebRTC inclusi, e con Premium Support.

€1,059 / sviluppatore

Il programma di installazione del trial è per versione dell'IDE e contiene già i componenti WebRTC, quindi non c'è un download separato.

Vedi i prezzi di sgcWebRTC

Metti una vera connessione peer dietro la tua app Delphi.

Canali audio, video e dati, cifrati end to end, dal linguaggio che già usi.

Le ultime dal blog

Vedi tutti gli articoli →

Questa è la vista sgcWebRTC di eSeGeCe.

Mostrami un altro punto di vista →
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso