Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

WebRTC API

WebRTC (Web Real-Time Communication) ist eine Technologie, die es Webanwendungen und Websites ermöglicht, Audio- und/oder Videomedien zu erfassen und optional zu streamen sowie beliebige Daten zwischen Browsern auszutauschen, ohne dass ein Vermittler erforderlich ist. Der Satz von Standards, der WebRTC ausmacht, ermöglicht es, Daten auszutauschen und Telekonferenzen peer-to-peer durchzuführen, ohne dass der Benutzer Plug-ins oder eine andere Drittanbieter-Software installieren muss.

WebRTC besteht aus mehreren miteinander verbundenen APIs und Protokollen, die zusammenarbeiten, um dies zu erreichen. Die hier bereitgestellte Dokumentation hilft Ihnen, die Grundlagen von WebRTC zu verstehen, wie Sie sowohl Daten- als auch Medienverbindungen einrichten und verwenden können und mehr.

WebRTC-Konzepte und Nutzung

WebRTC erfüllt mehrere Zwecke; zusammen mit derMedia Capture and Streams API bieten sie leistungsstarke Multimediakapazitäten für das Web, einschließlich Unterstützung für Audio- und Videokonferenzen, Dateiaustausch, Bildschirmfreigabe, Identitätsmanagement und die Schnittstelle zu älteren Telefonsystemen, einschließlich Unterstützung für das Senden vonDTMF-Signalen (Tonwahl). Verbindungen zwischen Peers können hergestellt werden, ohne dass spezielle Treiber oder Plug-ins erforderlich sind und oft auch ohne Vermittlungsserver.

Verbindungen zwischen zwei Peers werden durch die SchnittstelleRTCPeerConnection repräsentiert. Sobald eine Verbindung mitRTCPeerConnection etabliert und geöffnet wurde, können Medienströme (MediaStreams) und/oder Datenkanäle (RTCDataChannels) zur Verbindung hinzugefügt werden.

Medienströme können beliebig viele Tracks mit Medieninformationen enthalten; Tracks, die durch Objekte basierend auf der SchnittstelleMediaStreamTrack repräsentiert werden, können eine von mehreren Arten von Mediendaten enthalten, einschließlich Audio, Video und Text (wie Untertitel oder sogar Kapitelnamen). Die meisten Streams bestehen aus mindestens einem Audiotrack und wahrscheinlich auch einem Videotrack und können verwendet werden, um sowohl Live-Medien als auch gespeicherte Medieninformationen (wie einen gestreamten Film) zu senden und zu empfangen.

Sie können die Verbindung zwischen zwei Peers auch verwenden, um beliebige Binärdaten mit der SchnittstelleRTCDataChannel auszutauschen. Dies kann für Back-Channel-Informationen, Metadaten-Austausch, Spielstatus-Pakete, Dateitransfers oder sogar als Hauptkanal für Datenübertragungen verwendet werden.

Interoperabilität

WebRTC wird in modernen Browsern im Allgemeinen gut unterstützt, es bleiben jedoch einige Inkompatibilitäten bestehen. Dieadapter.js-Bibliothek ist ein Shim, um Apps von diesen Inkompatibilitäten zu isolieren.

WebRTC-Referenz

Da WebRTC Schnittstellen bereitstellt, die zusammenarbeiten, um eine Vielzahl von Aufgaben zu erledigen, haben wir die Referenz nach Kategorie unterteilt. Bitte beachten Sie die Sidebar für eine alphabetische Liste.

Einrichtung und Verwaltung von Verbindungen

Diese Schnittstellen, Dictionaries und Typen werden verwendet, um WebRTC-Verbindungen einzurichten, zu öffnen und zu verwalten. Enthalten sind Schnittstellen, die peer-Medienverbindungen, Datenkanäle und Schnittstellen repräsentieren, die beim Austausch von Informationen über die Fähigkeiten jedes Peers verwendet werden, um die bestmögliche Konfiguration für eine Zwei-Wege-Medienverbindung auszuwählen.

Schnittstellen

RTCPeerConnection

Repräsentiert eine WebRTC-Verbindung zwischen dem lokalen Computer und einem entfernten Peer. Es wird verwendet, um eine effiziente Datenübertragung zwischen den beiden Peers zu handhaben.

RTCDataChannel

Repräsentiert einen bidirektionalen Datenkanal zwischen zwei Peers einer Verbindung.

RTCDataChannelEvent

Repräsentiert Ereignisse, die beim Anfügen einesRTCDataChannel an eineRTCPeerConnection auftreten. Das einzige Ereignis, das mit dieser Schnittstelle gesendet wird, istdatachannel.

RTCSessionDescription

Repräsentiert die Parameter einer Sitzung. JedeRTCSessionDescription besteht aus einem Beschreibungstyp, der anzeigt, welcher Teil des Angebots-/Antwortverhandlungsprozesses beschrieben wird, und demSDP-Beschreibung der Sitzung.

RTCStatsReport

Bietet Informationen, die Statistiken für eine Verbindung oder für einen einzelnen Track auf der Verbindung detailliert beschreiben; der Bericht kann durch Aufrufen vonRTCPeerConnection.getStats() erhalten werden.

RTCIceCandidate

Repräsentiert einen Kandidaten für den Ausbau interaktiver Konnektivität (ICE) zur Erstellung einerRTCPeerConnection.

RTCIceTransport

Repräsentiert Informationen über einenICE-Transport.

RTCPeerConnectionIceEvent

Repräsentiert Ereignisse, die im Zusammenhang mit ICE-Kandidaten beim Ziel auftreten, normalerweise einerRTCPeerConnection. Nur ein Ereignis ist von diesem Typ:icecandidate.

RTCRtpSender

Verwaltet die Kodierung und Übertragung von Daten für einenMediaStreamTrack auf einerRTCPeerConnection.

RTCRtpReceiver

Verwaltet den Empfang und die Dekodierung von Daten für einenMediaStreamTrack auf einerRTCPeerConnection.

RTCTrackEvent

Die Schnittstelle wird verwendet, um eintrack-Ereignis darzustellen, das anzeigt, dass einRTCRtpReceiver-Objekt zu demRTCPeerConnection-Objekt hinzugefügt wurde, was darauf hinweist, dass ein neuer eingehenderMediaStreamTrack erstellt und derRTCPeerConnection hinzugefügt wurde.

RTCSctpTransport

Bietet Informationen, die ein Stream Control Transmission Protocol (SCTP) Transport beschreiben und bietet auch eine Möglichkeit, auf den zugrunde liegenden Datagram Transport Layer Security (DTLS) Transport zuzugreifen, über den SCTP Pakete für alle Datenkanäle einerRTCPeerConnection gesendet und empfangen werden.

Ereignisse

bufferedamountlow

Die Menge an Daten, die derzeit vom Datenkanal gepuffert wird—wie durch seinebufferedAmount-Eigenschaft angegeben—hat sich auf das oder unter das minimale gepufferte Datenvolumen des Kanals verringert, wie vonbufferedAmountLowThreshold spezifiziert.

close

Der Datenkanal hat den Schließprozess abgeschlossen und befindet sich jetzt im Zustandclosed. Sein zugrunde liegender Datentransport ist an diesem Punkt vollständig geschlossen. Sie können benachrichtigt werdenbevor das Schließen abgeschlossen ist, indem Sie auf das Ereignisclosing achten.

closing

DerRTCDataChannel ist in den Zustandclosing übergegangen und zeigt an, dass er bald geschlossen wird. Sie können das Abschließen des Schließprozesses feststellen, indem Sie auf das Ereignisclose achten.

connectionstatechange

Der Verbindungszustand, der inconnectionState zugänglich ist, hat sich geändert.

datachannel

Ein neuerRTCDataChannel ist verfügbar, nachdem der Remote-Peer einen neuen Datenkanal geöffnet hat. Der Ereignistyp istRTCDataChannelEvent.

error

EinRTCErrorEvent, der darauf hinweist, dass ein Fehler auf dem Datenkanal aufgetreten ist.

error

EinRTCErrorEvent, der darauf hinweist, dass ein Fehler auf demRTCDtlsTransport aufgetreten ist. Dieser Fehler wird entwederdtls-failure oderfingerprint-failure sein.

gatheringstatechange

Der Sammelstatus desRTCIceTransport hat sich geändert.

icecandidate

EinRTCPeerConnectionIceEvent, das gesendet wird, wann immer das lokale Gerät einen neuen ICE-Kandidaten identifiziert hat, der dem lokalen Peer hinzugefügt werden muss, indemsetLocalDescription() aufgerufen wird.

icecandidateerror

EinRTCPeerConnectionIceErrorEvent, das darauf hinweist, dass beim Sammeln von ICE-Kandidaten ein Fehler aufgetreten ist.

iceconnectionstatechange

Wird an eineRTCPeerConnection gesendet, wenn sich der ICE-Verbindungsstatus—gefunden in der EigenschafticeConnectionState—ändert.

icegatheringstatechange

Wird an eineRTCPeerConnection gesendet, wenn sich der ICE-Sammelstatus—gefunden in der EigenschafticeGatheringState—ändert.

message

Eine Nachricht wurde auf dem Datenkanal empfangen. Das Ereignis ist vom TypMessageEvent.

negotiationneeded

Informiert dieRTCPeerConnection, dass eine Sitzungsverhandlung durchgeführt werden muss, indemcreateOffer() gefolgt vonsetLocalDescription() aufgerufen wird.

open

Der zugrunde liegende Datentransport für denRTCDataChannel wurde erfolgreich geöffnet oder wieder geöffnet.

selectedcandidatepairchange

Das aktuell ausgewählte Paar von ICE-Kandidaten hat sich für dasRTCIceTransport geändert, auf dem das Ereignis ausgelöst wird.

track

Dastrack-Ereignis, vom TypRTCTrackEvent, wird an eineRTCPeerConnection gesendet, wenn ein neuer Track zur Verbindung hinzugefügt wird, nachdem die Verhandlung des Medienstreams erfolgreich war.

signalingstatechange

Wird an die Peer-Verbindung gesendet, wenn sich derensignalingState geändert hat. Dies geschieht als Ergebnis eines Aufrufs von entwedersetLocalDescription() odersetRemoteDescription().

statechange

Der Status desRTCDtlsTransport hat sich geändert.

statechange

Der Status desRTCIceTransport hat sich geändert.

statechange

Der Status desRTCSctpTransport hat sich geändert.

rtctransform

Ein codiertes Video- oder Audio-Frame ist bereit, um in einem Worker mit einem Transform-Stream verarbeitet zu werden.

Typen

RTCSctpTransport.state

Gibt den Zustand einerRTCSctpTransport-Instanz an.

Identität und Sicherheit

Diese APIs werden verwendet, um Benutzeridentität und Sicherheit zu verwalten, um den Benutzer für eine Verbindung zu authentifizieren.

RTCIdentityProvider

Ermöglicht es einem Benutzeragenten, zu verlangen, dass eine Identitätsaussage generiert oder validiert wird.

RTCIdentityAssertion

Repräsentiert die Identität des Remote-Peers der aktuellen Verbindung. Wenn noch kein Peer gesetzt und verifiziert wurde, gibt diese Schnittstellenull zurück. Einmal gesetzt, kann es nicht geändert werden.

RTCIdentityProviderRegistrar

Registriert einen Identitätsanbieter (idP).

RTCCertificate

Repräsentiert ein Zertifikat, das eineRTCPeerConnection zur Authentifizierung verwendet.

Telefonie

Diese Schnittstellen und Ereignisse stehen im Zusammenhang mit der Interaktion mit öffentlichen Telefonnetzen (PSTNs). Sie werden hauptsächlich verwendet, um Tonwahlsignale—oder Pakete, die diese Töne repräsentieren—über das Netzwerk an den Remote-Peer zu senden.

Schnittstellen

RTCDTMFSender

Verwalten der Kodierung und Übertragung von Dual-Tone Multi-Frequency (DTMF) Signalisierung für eineRTCPeerConnection.

RTCDTMFToneChangeEvent

Wird von demtonechange-Ereignis verwendet, um anzuzeigen, dass ein DTMF-Ton entweder begonnen oder beendet wurde. Dieses Ereignis bläst nicht auf (außer wo es anders angegeben ist) und ist nicht abbrechbar (außer wo es anders angegeben ist).

Ereignisse

tonechange

Entweder ein neuerDTMF Ton hat begonnen, über die Verbindung zu spielen, oder der letzte Ton imtoneBuffer desRTCDTMFSender wurde gesendet und der Puffer ist jetzt leer. Der Ereignistyp istRTCDTMFToneChangeEvent.

Codierte Transforms

Diese Schnittstellen und Ereignisse werden verwendet, um eingehende und ausgehende codierte Video- und Audioframes mithilfe eines Transform-Streams zu verarbeiten, der in einem Worker ausgeführt wird.

Schnittstellen

RTCRtpScriptTransform

Eine Schnittstelle zum Einsetzen von Transform-Streams, die in einem Worker in die RTC-Pipeline laufen.

RTCRtpScriptTransformer

Das Worker-seitige Gegenstück einesRTCRtpScriptTransform, das Optionen aus dem Hauptthread zusammen mit einem lesbaren Strom und einem beschreibbaren Strom weitergibt, die verwendet werden können, um codierte Frames durch einenTransformStream zu leiten.

RTCEncodedVideoFrame

Repräsentiert einen codierten Video-Frame, der in der RTC-Pipeline transformiert werden soll.

RTCEncodedAudioFrame

Repräsentiert einen codierten Audio-Frame, der in der RTC-Pipeline transformiert werden soll.

Eigenschaften

RTCRtpReceiver.transform

Eine Eigenschaft, die verwendet wird, um einen Transform-Stream in die Empfänger-Pipeline für eingehende codierte Video- und Audioframes einzufügen.

RTCRtpSender.transform

Eine Eigenschaft, die verwendet wird, um einen Transform-Stream in die Senderpipeline für ausgehende codierte Video- und Audioframes einzufügen.

Ereignisse

rtctransform

Ein RTC Transform ist bereit, im Worker ausgeführt zu werden, oder ein codiertes Video- oder Audio-Frame ist bereit zur Verarbeitung.

Leitfäden

Einführung in das Real-time Transport Protocol (RTP)

Das Real-time Transport Protocol (RTP), definiert inRFC 3550, ist ein IETF-Standardprotokoll, um Echtzeit-Konnektivität für den Austausch von Daten zu ermöglichen, die Echtzeit-Priorität benötigen. Dieser Artikel bietet einen Überblick darüber, was RTP ist und wie es im Kontext von WebRTC funktioniert.

Einführung in WebRTC-Protokolle

Dieser Artikel stellt die Protokolle vor, auf denen die WebRTC API aufgebaut ist.

WebRTC-Konnektivität

Ein Leitfaden dafür, wie WebRTC-Verbindungen funktionieren und wie die verschiedenen Protokolle und Schnittstellen zusammen verwendet werden können, um leistungsstarke Kommunikations-Apps zu entwickeln.

Lebensdauer einer WebRTC-Sitzung

Mit WebRTC können Sie die Peer-to-Peer-Kommunikation beliebiger Daten, Audio oder Video—oder jeder Kombination davon—in eine Browseranwendung integrieren. In diesem Artikel betrachten wir die Lebensdauer einer WebRTC-Sitzung, von der Herstellung der Verbindung bis hin zum Schließen der Verbindung, wenn sie nicht mehr benötigt wird.

Verbindung aufbauen: Das perfekte Verhandlungsmuster

Perfekte Verhandlung ist ein Entwurfsmuster, das für Ihren Signalisierungsprozess empfohlen wird, das Transparenz in der Verhandlung bietet, während es beiden Seiten ermöglicht, entweder der Anbieter oder der Antwortende zu sein, ohne dass wesentliche Codierungen erforderlich sind, um zwischen den beiden zu unterscheiden.

Signalisierung und Zwei-Wege-Videoanrufe

Ein Tutorial und Beispiel, das ein WebSocket-basiertes Chatsystem aus einem früheren Beispiel aufgreift und Unterstützung für das Öffnen von Videoanrufen zwischen Teilnehmern hinzufügt. Die WebSocket-Verbindung des Chat-Servers wird für die WebRTC-Signalisierung verwendet.

Codecs, die von WebRTC verwendet werden

Ein Leitfaden zu den Codecs, die WebRTC erfordert, dass Browser sie unterstützen, sowie die optionalen, die von verschiedenen beliebten Browsern unterstützt werden. Enthalten ist ein Leitfaden, der Ihnen hilft, die besten Codecs für Ihre Bedürfnisse auszuwählen.

Verwendung von WebRTC-Datenkanälen

Dieser Leitfaden behandelt, wie Sie eine Peer-Verbindung und einen zugehörigenRTCDataChannel verwenden können, um beliebige Daten zwischen zwei Peers auszutauschen.

Verwendung von DTMF mit WebRTC

WebRTCs Unterstützung für die Interaktion mit Gateways, die mit herkömmlichen Telefonsystemen verknüpft sind, umfasst die Unterstützung zum Senden von DTMF-Tönen über die SchnittstelleRTCDTMFSender. Dieser Leitfaden zeigt, wie man dies tut.

Verwendung von WebRTC Encoded Transforms

Dieser Leitfaden zeigt, wie eine Webanwendung eingehende und ausgehende WebRTC-codierte Video- und Audioframes ändern kann, indem einTransformStream verwendet wird, der in einem Worker läuft.

Tutorials

Verbesserung der Kompatibilität mit WebRTC adapter.js

Die WebRTC-Organisationbietet auf GitHub den WebRTC-Adapter, um Kompatibilitätsprobleme in den WebRTC-Implementierungen verschiedener Browser zu umgehen. Der Adapter ist ein JavaScript-Shim, der es Ihrem Code ermöglicht, gemäß der Spezifikation geschrieben zu werden, sodass er in allen WebRTC-unterstützten Browsern einfach funktioniert.

Ein einfaches RTCDataChannel-Beispiel

Die SchnittstelleRTCDataChannel ist eine Funktion, die es ermöglicht, einen Kanal zwischen zwei Peers zu öffnen, über den beliebige Daten gesendet und empfangen werden können. Die API ist absichtlich ähnlich wie dieWebSocket-API, sodass dasselbe Programmiermodell für beide verwendet werden kann.

Bau eines internetfähigen Telefons mit Peer.js

Dieses Tutorial ist eine Schritt-für-Schritt-Anleitung zum Bau eines Telefons mit Peer.js

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
Media Capture and Streams
Media Capture from DOM Elements

WebRTC-bezogene Protokolle

Verwandte unterstützende Protokolle

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp