Creación del renderizador de vídeo invertido
InvertedColorsVideoRenderer es tu principal renderizador personalizado. Esta clase se conecta directamente a Vonage Video SDK. NO renderiza video por sí misma, delega toda la renderización a MyRenderer.
Responsabilidades clave:
- Crear y configurar un
GLSurfaceView - Recibir fotogramas de vídeo de
Vonage Video SDK(onFrame) - Páselos al
OpenGLrenderizador - Escalado de vídeo ("fit", "fill")`.
Pause/resumerenderización
- Crear un archivo kotlin separado con el InvertedColorsVideoRenderer
En InvertedColorsVideoRenderer() establece una propiedad de renderizador en GLSurfaceView objeto. La aplicación utiliza este objeto para mostrar el vídeo utilizando OpenGL ES 2.0. El renderizador para este GLSurfaceView se establece en MyRenderer objeto. MyRenderer es una clase personalizada que crearemos extiende GLSurfaceView.Renderery se utiliza para renderizar el vídeo en el GLSurfaceView objeto
- Explora el código creado y lo que hace.
Vonage Video SDKllama aonFrame()para cada trama entrante- Entregamos el marco al
OpenGLrenderizadorrenderer.displayFrame() - Preguntamos
GLSurfaceViewdesenfundar inmediatamenterequestRender() - Esto establece una separación clara entre
Vonage Video SDKlógica yOpenGLlógica.
- Echemos un vistazo más de cerca al
onFrame()del renderizador de vídeo
Se hereda del BaseVideoRenderer clase. En BaseVideoRenderer.onFrame() es llamado cuando el editor (o suscriptor) renderiza un fotograma de vídeo al renderizador de vídeo. La dirección InvertedColorsVideoRenderer de este método, toma el búfer de imagen del fotograma (representación YUV del fotograma), lo pasa a la función displayFrame método del MyRenderer y llama al objeto requestRender() método del GLSurfaceView objeto:
Renderizado básico de vídeo
Aprende a utilizar un renderizador de vídeo personalizado en Kotlin para mostrar una versión en blanco y negro de una transmisión de vídeo utilizando el SDK para Android de Vonage Video.