sgcWebRTC — Delphi ve C++ Builder için WebRTC Medya Motoru
Delphi ve C++ Builder uygulamalarınıza, bir tarayıcıya dokunmadan gerçek zamanlı ses, görüntü, ekran paylaşımı ve veri kanalları ekleyin.
Delphi ve C++ Builder uygulamalarınıza, bir tarayıcıya dokunmadan gerçek zamanlı ses, görüntü, ekran paylaşımı ve veri kanalları ekleyin.
sgcWebRTC, sgcWebSockets'in üzerine yeni palet bileşenleri eklemez — aynı TsgcRTCPeerConnection sınıfı üzerinde W3C şekilli yüzeyin geri kalanının kilidini açar: sinyalleşme, bağlanabilirlik, şifreleme, veri kanalları ve medya hepsi tek bir nesnede yaşar.
CreateOffer, CreateAnswer, SetLocalDescription, SetRemoteDescription ve AddIceCandidate gerçek SDP oluşturur ve tüketir; böylece karşı uçtaki eş bir tarayıcı olabilir. SDP'yi zaten sahip olduğunuz herhangi bir sinyalleşme kanalı üzerinden taşırsınız.
RTCOptions.ICEServers'a karşı trickle veya trickle olmayan ICE toplama; doğrudan bir yol engellendiğinde STUN'dan sunucu-yansımalı adaylar ve TURN'den aktarılan adaylarla. OnICECandidate ve OnConnectionStateChange taşımayı izler.
Her oturum, WebRTC'nin zorunlu kıldığı şekilde güvence altına alınır: aday gösterilen ICE çifti üzerinden bir DTLS el sıkışması SRTP anahtarlarını türetir ve bağlantı üzerindeki her RTP, RTCP ve SCTP paketi ilk paketten itibaren şifrelenir.
CreateDataChannel, SCTP-over-DTLS üzerinden sıralı veya sırasız, güvenilir veya kısmen güvenilir bir kanal açar (RFC 8831/8832). Send, SendBytes ve OnMessage / OnMessageBinary olayları metin ve ikili verileri taşır.
AddTrack, bir Opus veya G.711 ses izi ya da bir VP8, H.264 veya Motion JPEG görüntü izi ekler; SendPCM ve SendVideoFrame yakalanan medyayı içeri gönderir, OnAudio ve OnVideoFrame çözülen uzak izi teslim eder.
Google Congestion Control tarzında gecikme tabanlı bir tahminleyici bağlantıyı izler ve görüntü kodlayıcısının hedef bit hızını yönlendirir; RTCP NACK/PLI yeniden iletimi, RFC 4588 RTX ve RED/ULPFEC ile desteklenir — bir tarayıcının kayıplı bir ağda kullandığı aynı araç kutusu.
sgcWebRTC, palete yeni bir sınıf eklemez. sgcWebSockets Enterprise ile birlikte gelen aynı TsgcRTCPeerConnection bileşenidir; Enterprise'ın zaten sağladığı ICE/TURN bağlanabilirliğinin üzerine SDP, SCTP, RTP ve SRTP yüzeyinin kilidi açılmıştır.
Tek bir bileşende manuel SDP sinyalleşmesi, ICE/TURN bağlanabilirliği, DTLS-SRTP şifrelemesi, SCTP veri kanalları ve RTP ses/görüntü izleri. Yeniden müzakere, ICE yeniden başlatma ve W3C perfect-negotiation glare kuralı yerleşiktir.
Bileşeni görüntüle →Bir ICE sunucusu ayarlayın, SDP ve ICE olaylarını bağlayın, bir veri kanalı açın, ardından teklifi oluşturun. Delphi ve C++ Builder'da aynı API.
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");
}
Standartlara dayalı bir medya motoru, tescilli bir taşıma değil.
Etkileşimli Bağlanabilirlik Kurulumu (ICE) aday toplama ve adaylandırma, ve arkasındaki STUN binding istekleri. TsgcICEClient üzerinden açığa çıkar ve TsgcRTCPeerConnection tarafından otomatik olarak tüketilir.
Doğrudan veya sunucu-yansımalı bir yol erişilemez olduğunda, TsgcTURNClient aracılığıyla bir TURN sunucusu üzerinden aktarılan adaylar.
Eş bağlantısını doğrulayan ve şifreli medya için SRTP anahtar malzemesini türeten DTLS el sıkışması.
DCEP açma el sıkışması, DTLS rolüne göre akış kimliği eşliği ve sıralı / kısmen güvenilir teslimat ile DTLS üzerinden SCTP.
Ses ve görüntü için gerçek zamanlı taşıma ile şifreli profili; RTCP gönderici/alıcı raporları, NACK, PLI ve REMB geri bildirimiyle.
CreateOffer / CreateAnswer / SetLocalDescription / SetRemoteDescription'ın arkasındaki teklif/yanıt durum makinesi; yeniden müzakere ve glare çözümü dahil.
sgcWebRTC bir eklenti olarak lisanslanır. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 70% yenileme indirimini içerir.
€299
Single, Team ve Site lisansları mevcuttur. Tam kaynak kodu dahildir.
★ sgcWebSockets Enterprise Gerektirir
Standard veya Professional için mevcut değildir. All-Access paketine de dahildir.
Fiyatlandırmayı Görüntüle & Sipariş VerGeliştiricilerin bir Delphi veya C++ Builder uygulamasına gerçek zamanlı ses, görüntü veya veri kanalları eklemeden önce sorduğu sorular.
TsgcRTCPeerConnection bileşenini sağlar; sgcWebRTC bunun üzerine medya motorunu ekler — manuel SDP teklif/yanıt, DTLS-SRTP şifreli taşıma, SCTP veri kanalları ve VP8/H.264 görüntülü Opus/G.711 sesi — böylece bileşen yalnızca sinyalleşme mesajlarını aktarmakla kalmaz, bir tarayıcıyla gerçekten bir eş bağlantısı açabilir ve medya alışverişi yapabilir.CreateOffer / CreateAnswer standart SDP oluşturur ve SetLocalDescription / SetRemoteDescription / AddIceCandidate bunu tüketir; bir tarayıcının beklediği JSEP durum makinesini (RFC 8829) izleyerek. SDP'yi ve adayları, tıpkı bir tarayıcı uygulamasının kendi sinyalleşme sunucusu üzerinden yaptığı gibi, kendi sinyalleşme kanalınız üzerinden taşırsınız.CreateDataChannel, SCTP-over-DTLS (RFC 8831/8832) üzerinden sıralı veya sırasız, güvenilir ya da bir yeniden iletim veya ömür sınırıyla bir RTCDataChannel açar. OnDataChannel, uzak eşin açtığı bir kanal için tetiklenir; Send / SendBytes ise kanal açıldıktan sonra metin veya ikili verileri taşır.TWebBrowser/TEdgeBrowser kontrolü) gömerek ve JavaScript WebRTC yığınını Pascal'dan yöneterek çalışır. sgcWebRTC böyle çalışmaz: TsgcRTCPeerConnection, işletim sisteminin kendi medya API'lerini doğrudan çağıran derlenmiş Object Pascal'dır (Windows'ta Media Foundation, iOS/macOS'ta VideoToolbox, Android'de MediaCodec); süreç içinde tarayıcı çalışma zamanı, gömülü Chromium ikili dosyası veya JavaScript köprüsü yoktur. Bu, ikili dosyayı küçük tutar ve aynı bileşenin Android ile iOS'ta, ayrıca hiç tarayıcı kurulu olmayan headless servislerde veya kiosk cihazlarında çalışmasını sağlar.TsgcWSProtocol_WebRTC_Server) içerir, ancak TsgcRTCPeerConnection'ın bir .NET karşılığı yoktur. sgcWebRTC'nin kendisi yalnızca Delphi ve C++ Builder içindir.sgcWebRTC'yi diğer Delphi, C++ Builder ve .NET bileşen kitaplıklarımızla eşleştirin.
Kurumsal WebSocket, HTTP/2, MQTT, AMQP ve yapay zeka/LLM bileşenleri. sgcWebRTC, sgcWebSockets Enterprise'a bir eklentidir.
Daha fazla bilgi →QUIC (RFC 9000) ve HTTP/3 (RFC 9114) istemci ve sunucu bileşenleri, yerleşik OpenSSL 3.5 QUIC motoru üzerinde.
Daha fazla bilgi →Delphi, C++ Builder ve .NET için Bootstrap 5 ve htmx ile 89 veriye duyarlı sunucu tarafı HTML/arayüz bileşeni.
Daha fazla bilgi →Kurumsal dijital imzalar — 10 anahtar sağlayıcı ve 21 AB ülke profiliyle XAdES, PAdES, CAdES ve ASiC.
Daha fazla bilgi →OpenAPI 3.0 ayrıştırıcısı ve SDK oluşturucusu. Herhangi bir OpenAPI belirtimini saniyeler içinde güçlü tipli bir Delphi istemcisine dönüştürün.
Daha fazla bilgi →Delphi ve C++ Builder için yerel Windows Hello, parmak izi ve Windows Biometric Framework bileşenleri.
Daha fazla bilgi →Delphi 7'den 13'e kadar modern TLS, IPv6 ve HTTP/2 desteğine sahip güncellenmiş Indy TCP/IP bileşenleri.
Daha fazla bilgi →Delphi ve C++ Builder için 15 yapay zeka, LLM ve MCP bileşeni. Tek bir sohbet bileşeni OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok ve Mistral'a ulaşır.
Daha fazla bilgi →Delphi ve C++ Builder için MQTT 3.1.1 ve 5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka ve STOMP istemci bileşenleri.
Daha fazla bilgi →