Media Capture and Streams API (Media Stream)
Die Media Capture and Streams API, oft auch Media Streams API oder MediaStream API genannt, ist eine mit WebRTC verbundene API, die das Streaming von Audio- und Videodaten unterstützt.
Sie stellt Schnittstellen und Methoden für die Arbeit mit Streams und den darin enthaltenen Tracks bereit. Dazu gehören Constraints für Datenformate, Erfolgs- und Fehler-Callbacks bei der asynchronen Verwendung der Daten sowie Events, die während des Vorgangs ausgelöst werden.
Konzepte und Verwendung
Die API basiert auf der Verwendung eines MediaStream-Objekts, das einen Strom von Audio- oder Videodaten darstellt. Ein Beispiel finden Sie unter Den Media-Stream abrufen.
Ein MediaStream besteht aus keinem, einem oder mehreren MediaStreamTrack-Objekten, die verschiedene Audio- oder Video-Tracks darstellen. Jeder MediaStreamTrack kann einen oder mehrere Kanäle haben. Ein Kanal ist die kleinste Einheit eines Media-Streams, etwa ein Audiosignal, das einem bestimmten Lautsprecher zugeordnet ist – beispielsweise links oder rechts bei einem Stereo-Audiotrack.
MediaStream-Objekte haben jeweils einen Eingang und einen Ausgang. Ein von getUserMedia() erzeugtes MediaStream-Objekt wird als lokal bezeichnet und nutzt als Eingangsquelle eine Kamera oder ein Mikrofon der nutzenden Person. Ein nicht lokaler MediaStream kann ein Medienelement wie <video> oder <audio> darstellen, einen über das Netzwerk übertragenen und über die WebRTC-API RTCPeerConnection empfangenen Stream oder einen Stream, der mit MediaStreamAudioDestinationNode aus der Web Audio API erstellt wurde.
Der Ausgang des MediaStream-Objekts ist mit einem Verbraucher verbunden. Das kann ein Medienelement wie <audio> oder <video>, die WebRTC-API RTCPeerConnection oder ein MediaStreamAudioSourceNode der Web Audio API sein.
Schnittstellen
In diesen Referenzartikeln finden Sie die grundlegenden Informationen zu den Schnittstellen der Media Capture and Streams API.
Events
Leitfäden und Tutorials
Der Artikel Fähigkeiten, Constraints und Einstellungen erläutert die Konzepte Constraints und Fähigkeiten sowie Medieneinstellungen. Er enthält außerdem ein Beispiel zum Ausprobieren von Constraints, mit dem Sie untersuchen können, wie sich unterschiedliche Constraint-Sätze auf die Audio- und Videotracks der A/V-Eingabegeräte Ihres Computers, etwa Webcam und Mikrofon, auswirken.
Der Artikel Standbilder mit getUserMedia() aufnehmen zeigt, wie Sie mit getUserMedia() auf die Kamera eines Computers oder Mobiltelefons zugreifen, das getUserMedia() unterstützt, und damit ein Foto aufnehmen.
Spezifikationen
| Spezifikation |
|---|
| Media Capture and Streams> |
| Media Capture from DOM Elements> |
Browser-Kompatibilität
>api.MediaStream
api.MediaStreamTrack
api.MediaDevices
api.MediaDeviceInfo
api.InputDeviceInfo
api.CanvasCaptureMediaStreamTrack
Siehe auch
- WebRTC – die Einführungsseite zur API
- Standbilder mit WebRTC aufnehmen: eine Demonstration und ein Tutorial zur Verwendung von
getUserMedia().