Inicialización de la captura
En este ejemplo, la aplicación utiliza un capturador de vídeo personalizado para publicar píxeles aleatorios (ruido blanco). Esto se hace simplemente para ilustrar los principios básicos de la configuración de un capturador de vídeo personalizado.
En el principal VonageVideoManagerdespués de llamar a session.publish(publisher, error: &error) para iniciar la publicación de un flujo de audio-vídeo, el videoCapture propiedad del OTPublisher se establece en una instancia de BasicVideoCapturer:
BasicVideoCapturer es una clase personalizada que implementa la función OTVideoCapture (definido en el SDK de Vonage para iOS). Este protocolo te permite definir una capturadora de vídeo personalizada para que la utilice un editor de OpenTok.
En initCapture inicializa la configuración de captura que utilizará el capturador de vídeo personalizado. En la implementación personalizada de OTVideoCapture (OTKBasicVideoCapturer), el initCapture establece las propiedades del método videoFormat propiedad:
En OTVideoFormat está definida por el SDK de Vonage para iOS. En este código de ejemplo, el formato del capturador de vídeo se establece para utilizar ARGB como formato de píxel, con un número específico de bytes por fila, altura y anchura.
En videoCaptureConsumer establece una propiedad OTVideoCaptureConsumer que el consumidor de vídeo utiliza para transmitir fotogramas de vídeo al flujo del editor. En BasicVideoCaptureresta propiedad se sintetiza a partir del protocolo:
Captura inicial
En start se llama cuando un editor comienza a capturar video para enviarlo como flujo a la sesión de Vonage. Esto ocurrirá después de que el método Session.publish(_:error:) . En el BasicVideoCapturereste método desencadena produceFrame en una cola de fondo:
Personalización del marco
En produceFrame genera un OTVideoFrame que representa un fotograma de vídeo. En este caso, el fotograma contiene píxeles aleatorios que llenan la altura y la anchura definidas:
El método pasa el marco al consumeFrame método del OTVideoCaptureConsumer. Esto hace que el editor envíe el fotograma de datos al flujo de vídeo de la sesión.
Captura de vídeo básica
Aprende a configurar una capturadora de video básica usando el SDK de video de Vonage.