Tarayıcı uyumlu sinyalleşme
CreateOffer, CreateAnswer, SetLocalDescription, SetRemoteDescription ve AddIceCandidate gerçek SDP üretir ve işler. Yeniden müzakere, ICE yeniden başlatma ve W3C perfect-negotiation glare kuralı yerleşiktir.
sgcWebRTC, Delphi ve C++ Builder için WebRTC medya motorudur. Uygulamalarınıza gerçek zamanlı sesli ve görüntülü aramalar, ekran paylaşımı ve SCTP veri kanalları ekleyin; DTLS-SRTP ile şifrelenir ve herhangi bir tarayıcıdaki RTCPeerConnection ile birlikte çalışır. İşletim sisteminin kendi medya API'lerini çağıran derlenmiş Object Pascal kodudur; sürecinizde WebView ve JavaScript köprüsü yoktur.
Delphi'den eşler arası medya ve veri kanalları: STUN, TURN, ICE ve RTCPeerConnection, tarayıcıdan yerel uygulamaya. Sesli anlatımlı ve altyazılı. Oynat'a basana kadar hiçbir şey indirilmez.
sgcWebRTC palete yeni bileşen eklemez. sgcWebSockets Enterprise ile birlikte gelen aynı TsgcRTCPeerConnection üzerindeki W3C biçimli yüzeyin geri kalanını açar: sinyalleşme, bağlanabilirlik, şifreleme, veri kanalları ve medya.
CreateOffer, CreateAnswer, SetLocalDescription, SetRemoteDescription ve AddIceCandidate gerçek SDP üretir ve işler. Yeniden müzakere, ICE yeniden başlatma ve W3C perfect-negotiation glare kuralı yerleşiktir.
Trickle veya trickle olmayan ICE toplama, şu özellik üzerinden: RTCOptions.ICEServers, doğrudan yol engellendiğinde STUN'dan server-reflexive, TURN'dan relayed adaylarla.
Aday gösterilen ICE çifti üzerinden bir DTLS el sıkışması SRTP anahtarlarını türetir ve her RTP, RTCP ve SCTP paketi ilk paketten itibaren şifrelenir. Medya için kapatılamaz; bir tarayıcının uyguladığı model de aynıdır.
AddTrack bir Opus veya G.711 ses izi, ya da bir VP8, H.264 veya Motion JPEG görüntü izi ekler. H.264, platformun donanım kodlayıcısını kullanır: Media Foundation, VideoToolbox veya MediaCodec.
CreateDataChannel sıralı veya sırasız, güvenilir veya kısmen güvenilir bir kanal açar (RFC 8831/8832). Send, SendBytes, OnMessage ve OnMessageBinary metin ve ikili yükleri taşır.
Google Congestion Control tarzında gecikme tabanlı bir tahminleyici, görüntü kodlayıcısının hedef bit hızını yönlendirir; RTCP NACK ve PLI, RFC 4588 RTX ve RED/ULPFEC ile desteklenir.
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");
}
Bu, değişimin yalnızca bir tarafıdır. Diğer taraf, sinyalleşme aktarıcısı ve üstündeki medya izleri görev kılavuzundadır.
Delphi'de WebRTC'ye yönelik diğer yaklaşımlar tam bir tarayıcı motoru gömer ve JavaScript yığınını Pascal'dan yönetir. sgcWebRTC, işletim sisteminin medya API'lerini doğrudan çağırır; bu da ikili dosyayı küçük tutar ve aynı bileşenin hiç tarayıcı kurulu olmayan yerlerde de çalışmasını sağlar.
Standart SDP ve JSEP durum makinesi (RFC 8829) sayesinde yerel bir Delphi veya C++ Builder istemcisi bir web sayfasındaki RTCPeerConnection'ı arayabilir, tersi de mümkündür.
İki yerel uygulama ses, görüntü ve veri kanallarını doğrudan değiş tokuş eder; sunucunuzdan yalnızca sinyalleşme geçer.
Görev kılavuzunu okuyun →Gömülü Chromium ikili dosyası olmadığı için aynı bileşen Android ve iOS'ta, ayrıca tarayıcı kurulu olmayan başsız hizmetlerde ve kiosk cihazlarında çalışır.
Windows'ta masaüstünü, bir monitörü, bir pencereyi veya bir bölgeyi imleç dahil yakalayın ve yanında bir veri kanalıyla birlikte görüntü izi olarak yayınlayın.
Windows, Linux, Apple platformları ve Android üzerindeki yerel kamera ve mikrofon yakalama arka uçları izleri doğrudan besler, oluşturucu arka uçlar ise uzaktaki görüntüyü gösterir.
Veri kanallarını tek başlarına sohbet, telemetri, dosya aktarımı veya oyun durumu için kullanın; güvenilirlik ve sıralama kanal bazında seçilir.
sgcWebRTC, ICE ve TURN bağlanabilirliğiyle birlikte sgcWebSockets Enterprise'ta zaten gelen TsgcRTCPeerConnection üzerindeki medya motorunun kilidini açar. Standard veya Professional sürümlerinde kullanılamaz. Her lisans tam kaynak kodu ve bir yıllık güncelleme içerir.
Üzerine kurulduğu temel: STUN, TURN ve ICE istemcileri, temel TsgcRTCPeerConnection, ayrıca WebSocket, HTTP/2, MQTT ve kitaplığın geri kalanı.
SDP sinyalleşmesi, DTLS-SRTP, SCTP veri kanalları, ses ve görüntü izleri, ekran yakalama ve bant genişliği tahmini. Single, Team ve Site lisansları.
Tüm eSeGeCe ürünleri bir yıl boyunca, Delphi ve .NET, sgcWebSockets Enterprise ve sgcWebRTC dahil, Premium Destek ile.
Deneme yükleyicisi IDE sürümü başınadır ve WebRTC bileşenlerini zaten içerir, bu yüzden ayrı bir indirme yoktur.
sgcWebRTC fiyatlarını görünSes, görüntü ve veri kanalları, uçtan uca şifreli, zaten kullandığınız dilden.
Genel BakışÖzellik matrisiTsgcRTCPeerConnectionGörev kılavuzu
sgcWebRTC, Delphi, C++ Builder, Lazarus ve .NET geliştiricilerinin ağ iletişimi, imzalama, web arayüzleri ve API'ler için zaten kullandığı bileşenlerin yanında yer alır.
Delphi, C++ Builder, Lazarus ve .NET için WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI ve 30'dan fazla API entegrasyonu. sgcWebRTC'nin üzerine kurulduğu Enterprise lisansı.
Ham QUIC aktarımı ve WebTransport'lu bir HTTP/3 istemcisi ve sunucusu. sgcWebSockets Enterprise için bir eklenti.
Delphi, C++ Builder ve .NET için 15 yerel arayüz ürünü: grid, grafikler, pano, planlayıcı, haritalar, PDF ve raporlar.
Delphi, C++ Builder ve .NET için Bootstrap 5 ve htmx tabanlı sunucu tarafı HTML ve arayüz bileşenleri.
Belgeler için XAdES, PAdES, CAdES ve ASiC; kod için Authenticode, ClickOnce, NuGet ve VSIX.
Paketler, eklentiler ve daha fazlası