Delphi ve C++ Builder için WebRTC Medya Motoru | sgcWebRTC

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.

Tarayıcı / WebView Gerekmez
Windows, Linux, macOS, iOS ve Android
Sesli ve Görüntülü Aramalar
Ekran Paylaşımı
SCTP Veri Kanalları
DTLS-SRTP ile Şifreli
Yerleşik STUN / TURN / ICE
Uyarlanabilir Bit Hızı
Donanımsal H.264 Kodlama
Tarayıcılarla Birlikte Çalışabilir
Tam Kaynak Kodu
Delphi ve C++ Builder

Tek Bileşen, Baştan Sona Bir Peer Connection

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.

Manuel, tarayıcı uyumlu sinyalleşme

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.

ICE, STUN ve TURN bağlanabilirliği

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.

DTLS-SRTP şifreli taşıma

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.

SCTP veri kanalları

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.

Ses, görüntü ve ekran izleri

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.

Bant genişliği tahmini ve dayanıklılık

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.

TsgcRTCPeerConnection

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.

TsgcRTCPeerConnection

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 →

Tam özellik dökümünü görün →

Bir Teklif ve Bir Veri Kanalı

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");
}

sgcWebRTC'nin Uyguladığı RFC'ler

Standartlara dayalı bir medya motoru, tescilli bir taşıma değil.

RFC 8445 & 8489 — ICE / STUN

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.

RFC 8656 — TURN

Doğrudan veya sunucu-yansımalı bir yol erişilemez olduğunda, TsgcTURNClient aracılığıyla bir TURN sunucusu üzerinden aktarılan adaylar.

RFC 8827 & 5764 — DTLS / DTLS-SRTP

Eş bağlantısını doğrulayan ve şifreli medya için SRTP anahtar malzemesini türeten DTLS el sıkışması.

RFC 8831 & 8832 — SCTP Data Channels

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.

RFC 3550 & 3711 — RTP / SRTP

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.

RFC 8829 — JSEP

CreateOffer / CreateAnswer / SetLocalDescription / SetRemoteDescription'ın arkasındaki teklif/yanıt durum makinesi; yeniden müzakere ve glare çözümü dahil.

sgcWebSockets Enterprise'a Bir Eklenti

sgcWebRTC bir eklenti olarak lisanslanır. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 70% yenileme indirimini içerir.

sgcWebRTC

€299

Single, Team ve Site lisansları mevcuttur. Tam kaynak kodu dahildir.

  • TsgcRTCPeerConnection medya motoru
  • SDP sinyalleşmesi, SCTP veri kanalları, RTP medyası
  • Delphi ve C++ Builder
  • Tam Kaynak Kodu
  • 1 Yıl Güncelleme

★ sgcWebSockets Enterprise Gerektirir

Standard veya Professional için mevcut değildir. All-Access paketine de dahildir.

Fiyatlandırmayı Görüntüle & Sipariş Ver

Delphi'de WebRTC Hakkında Sık Sorulanlar

Geliştiricilerin bir Delphi veya C++ Builder uygulamasına gerçek zamanlı ses, görüntü veya veri kanalları eklemeden önce sorduğu sorular.

Kutudan çıktığı haliyle hayır, ve çoğu üçüncü taraf kütüphanesi sinyalleşmede kalır. sgcWebSockets Enterprise, ICE/TURN bağlanabilirliği için temel 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.
Evet. 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.
Evet. 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.
Ses: Opus ve G.711 (PCMU/PCMA). Görüntü: bir libvpx bağlaması üzerinden VP8, ve işletim sisteminin kendi donanım kodlayıcısı üzerinden H.264 — Windows'ta Media Foundation, iOS/macOS'ta VideoToolbox, Android'de MediaCodec — ayrıca Windows'ta bir Motion JPEG yolu. Platform matrisi için özellik dökümüne bakın.
Evet, ve medya için kapatılamaz: aday gösterilen ICE çifti üzerinden bir DTLS-SRTP el sıkışması çalışır ve bağlantı üzerindeki her RTP, RTCP ve SCTP paketi şifrelenir — bir tarayıcının uyguladığı aynı zorunlu şifreleme modeli.
Hayır. Delphi'de WebRTC'ye yönelik diğer birkaç yaklaşım, tam bir tarayıcı motorunu (bir Chromium Embedded Framework sarmalayıcısı veya bir 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.
sgcWebRTC, sgcWebSockets destek matrisini izler: Delphi 7'den Delphi 13 Florence'a kadar ve bunlara karşılık gelen C++ Builder sürümleri. Deneme kurulumu IDE sürümüne göredir ve WebRTC bileşenlerini zaten içerir; ayrı bir indirme gerekmez.
Medya motoru için hayır. sgcWebSockets .NET portu, klasik AppRTC tarzı tarayıcıdan tarayıcıya demo için bir WebRTC sinyalleşme aktarımı (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, sgcWebSockets Enterprise'a bir eklentidir — Standard veya Professional için mevcut değildir — ve ayrıca All-Access paketine de dahildir. Single, Team ve Site lisansları mevcuttur; her biri tam kaynak kodu ve bir yıllık güncelleme ile gelir. Satın almadan önce kendi projenizde değerlendirmek için deneme sürümünü indirin.
3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

Delphi Uygulamanızın Arkasına Gerçek Bir Peer Connection Koyun

Zaten kullandığınız dilden, uçtan uca şifrelenmiş ses, görüntü ve veri kanalları.

eSeGeCe'nin Diğer Ürünleri

sgcWebRTC'yi diğer Delphi, C++ Builder ve .NET bileşen kitaplıklarımızla eşleştirin.

sgcWebSockets

Kurumsal WebSocket, HTTP/2, MQTT, AMQP ve yapay zeka/LLM bileşenleri. sgcWebRTC, sgcWebSockets Enterprise'a bir eklentidir.

Daha fazla bilgi →

sgcQUIC

QUIC (RFC 9000) ve HTTP/3 (RFC 9114) istemci ve sunucu bileşenleri, yerleşik OpenSSL 3.5 QUIC motoru üzerinde.

Daha fazla bilgi →

sgcHTML

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 →

sgcSign

Kurumsal dijital imzalar — 10 anahtar sağlayıcı ve 21 AB ülke profiliyle XAdES, PAdES, CAdES ve ASiC.

Daha fazla bilgi →

sgcOpenAPI

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 →

sgcBiometrics

Delphi ve C++ Builder için yerel Windows Hello, parmak izi ve Windows Biometric Framework bileşenleri.

Daha fazla bilgi →

sgcIndy

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 →

sgcAI

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 →

sgcMQ

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 →