Kotlin

Erstellen des Mirror Video Capturers

Wir müssen eine MirrorVideoCapturerIhre Aufgabe ist es,:

  • öffnen und konfigurieren Sie die Kamera,
  • Bilder von der Kamera aufnehmen,
  • die Rahmen horizontal spiegeln,
  • diese Bilder als Publisher-Video an das Vonage SDK senden.
  1. Erstellen Sie eine separate Kotlin-Datei mit dem MirrorVideoCapturer

Da die Datei recht groß ist, kopieren Sie den Inhalt der Datei MirrorVideoCapturer.kt zu Ihrem Projekt hinzufügen. In den nächsten Schritten werden wir uns nur auf die wichtigsten Aspekte der benutzerdefinierten Videoaufnahme in diesem Tutorial konzentrieren.

  1. Wie der Erfasser seine Einstellungen preisgibt

Das SDK muss wissen, welche Art von Videostream Ihr Capturer bereitstellen wird. Dies geschieht durch getCaptureSettings() im benutzerdefinierten Erfassungsprogramm:

    @Synchronized
    override fun getCaptureSettings(): CaptureSettings {
        val settings = CaptureSettings()
        settings.fps = desiredFps
        settings.width = cameraFrame?.width ?: -1
        settings.height = cameraFrame?.height ?: -1
        settings.format = NV21
        settings.expectedDelay = 0
        settings.mirrorInLocalRender = frameMirrorX

        return settings
    }

Die Einstellungen hier konfigurieren die Erfassung wie folgt:

fps: wie viele Bilder pro Sekunde Sie liefern werden. Breite und HöheAuflösung: die Auflösung der Bilder (kann von der tatsächlichen Kameraausgabe oder der von Ihnen konfigurierten Aufnahmegröße abgeleitet werden). Format: das Pixelformat, das Sie dem SDK zur Verfügung stellen wollen (z. B. NV21). expectedDelayEine Schätzung (in ms), wie viel Zeit zwischen der Aufnahme und der Übermittlung eines Bildes vergeht.

Diese Einstellungen werden dem Vonage SDK über MirrorVideoCapturer mitgeteilt. Wenn diese Einstellungen gesetzt sind, weiß das SDK: wie man Puffer zuweist, wie die Frames zu kodieren sind, und wie das Netzwerk-/Codierungsverhalten an Ihr Aufnahmeprofil angepasst werden kann.