
Kamerasteuerung
glossary.categories.featureFunktionen, die es Nutzern ermöglichen, Kamerageräte während Videoanrufen auszuwählen, zu konfigurieren und anzupassen.
Was ist Kamerasteuerung?
Kamerasteuerung in WebRTC bezieht sich auf die Sammlung von APIs und Funktionen, die es Nutzern und Anwendungen ermöglichen, Kamerageräte auszuwählen, Kameraeinstellungen zu konfigurieren und Videoparameter während Videoanrufen dynamisch anzupassen. Dazu gehören Geräteauswahl, Auflösungseinstellungen, Bildratenanpassungen und auf unterstützter Hardware erweiterte Steuerungen wie Schwenken, Neigen, Zoom (PTZ), Fokus und Belichtung.
Kamerageräte-Auswahl
Der erste Schritt der Kamerasteuerung ist die Erkennung verfügbarer Geräte mittels enumerateDevices():
const devices = await navigator.mediaDevices.enumerateDevices();
const cameras = devices.filter(device => device.kind === 'videoinput');Media Constraints
Auflösungssteuerung
Gängige Auflösungen:
- VGA: 640x480 – Niedrige Bandbreite, Basisqualität
- HD (720p): 1280x720 – Standard für Videoanrufe
- Full HD (1080p): 1920x1080 – Hohe Qualität, höhere Bandbreite
- 4K: 3840x2160 – Professionelle Nutzung, sehr hohe Bandbreite
Bildratensteuerung
Steuern Sie die Videoflüssigkeit mit Bildraten-Constraints. Für geringere Bandbreite die Bildrate reduzieren (z. B. 15 FPS statt 30 FPS).
Kamerawahl (Mobil)
// Frontkamera (Selfie)
const frontCamera = { video: { facingMode: 'user' } };
// Rückkamera
const rearCamera = { video: { facingMode: { exact: 'environment' } } };Erweiterte Kamerasteuerung (PTZ)
Ab Chrome 87 unterstützen Browser PTZ-Steuerungen für kompatible Kameras: Schwenken, Neigen und Zoomen. Verfügbarkeit:
- Desktop: Volle PTZ-Unterstützung auf kompatiblen Kameras (Chrome 87+)
- Android: Nur Zoom, kein Schwenken/Neigen
- iOS Safari: Eingeschränkte Unterstützung, Zoom auf neueren Geräten verfügbar
Best Practices
- Freundliche Namen anzeigen:
device.labelstatt deviceId anzeigen - Kameravorschau: Vorschau beim Überfahren von Kameraoptionen anzeigen
- Auswahl speichern: Die Kamerawahl des Nutzers in localStorage speichern
- An Netzwerkbedingungen anpassen: Auflösung/Bildrate bei schlechten Verbindungen reduzieren