Creación del «Mirror Video Capturer»
Tenemos que crear un MirrorVideoCapturer, su función es:
- abrir y configurar la cámara,
- coger fotogramas de la cámara,
- reflejar los fotogramas horizontalmente,
- envía esos cuadros al SDK de Vonage como video del editor.
- Crear un archivo kotlin separado con el MirrorVideoCapturer
Como el archivo es bastante grande, copia el contenido del MirrorVideoCapturer.kt a tu proyecto. En los próximos pasos nos centraremos en los aspectos clave de la captura de vídeo personalizada en este tutorial, así que no te preocupes si no entiendes todo el capturador de inmediato.
- Cómo expone la capturadora sus ajustes
El SDK necesita saber qué tipo de flujo de vídeo va a proporcionar tu capturadora. Esto se hace a través de getCaptureSettings() en el capturador personalizado:
@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
}
Los ajustes que aparecen aquí configuran la captura de la siguiente manera:
fps: cuántos fotogramas por segundo ofrecerá. anchura y altura: la resolución de los fotogramas (puede derivarse de la salida real de la cámara o del tamaño de captura configurado). formatoel formato de píxel que va a proporcionar al SDK (por ejemplo, NV21). retraso previsto: una estimación (en ms) del tiempo que transcurre entre la captura y la entrega de un fotograma.
Estos ajustes se transmiten al SDK de Vonage a través de MirrorVideoCapturer. Una vez configurados, el SDK sabe: cómo asignar los búferes, cómo codificar los fotogramas, y cómo adaptar el comportamiento de la red y la codificación a tu perfil de captura.
Captura de vídeo básica
Descubre cómo configurar un capturador de vídeo básico utilizando el SDK de vídeo de Vonage.