Wie es funktioniert
Fluss der Videobildverarbeitung
- Frame-Empfang: Das Vonage SDK ruft
renderVideoFrame(_:)zu IhremCustomVideoRenderInstanz für jedes Videobild - Frame-Verarbeitung: Der Rahmen wird übergeben an
CustomRenderViewder die Bilddaten verarbeitet und ein Bild erzeugt - Anzeige: Die
draw(_:)wird im Hauptthread aufgerufen, um das verarbeitete Bild auf dem Bildschirm darzustellen
Die Beispielimplementierung konvertiert Frames in Graustufen, aber Sie können die Verarbeitungslogik in renderVideoFrame(_:) um eine beliebige Transformation vorzunehmen.
Anpassungsoptionen
Sie können die Rahmenverarbeitung in CustomRenderView.renderVideoFrame(_:) um verschiedene Effekte oder Transformationen anzuwenden. Die Website OTVideoFrame Objekt ermöglicht den Zugriff auf die Rohdaten des Rahmens durch seine planes Eigenschaft, die Sie nach Belieben verarbeiten können.
Für eine weitergehende Bearbeitung können Sie auch Metal oder Core Image Frameworks verwenden, um Filter und Effekte auf die Videobilder anzuwenden.
Prüfung
Test im iOS-Simulator
- Führen Sie die Anwendung im iOS-Simulator aus.
- Der Simulator verwendet ein Demovideo (kein Zugang zur Kamera)
- Sie sollten den Graustufen-Video-Feed sehen
Test am physischen Gerät
- Ein iOS-Gerät anschließen
- Wählen Sie es als Laufziel aus
- Erteilen Sie die Kamerarechte, wenn Sie dazu aufgefordert werden
- Sie sollten Ihr Kamerabild in Graustufen sehen
Test mit mehreren Teilnehmern
- Führen Sie die Anwendung auf einem Gerät oder Simulator aus.
- Verwenden Sie die Vonage Video Spielplatz der gleichen Sitzung beizutreten
- Sie sollten sowohl Ihren benutzerdefinierten Stream als auch den Standard-Abonnenten-Stream sehen
Grundlegendes Video-Rendering
Erfahren Sie, wie Sie einen benutzerdefinierten Videorenderer in Swift verwenden, um eine Schwarz-Weiß-Version eines Videostreams mit dem Vonage Video iOS SDK anzuzeigen.