Mejor opción para representar video para iOS y Android

Estoy desarrollando una aplicación para iOS y Android para realizar una videollamada entre dos dispositivos. La idea es desarrollar una biblioteca c ++ para ambas plataformas, e integrar las partes de comunicación y visualización de la misma manera. Por razones de compatibilidad, estoy utilizando OpenGL para representar el video, y FFMPEG para codificar la comunicación, pero en algunas otras preguntas (como aquí ) he leído que no es la mejor opción para Android. Aunque, me he dado cuenta de que en iOS, el enfoque opengl es más rápido que el enfoque nativo que he probado. Así que la pregunta es: ¿Para Android, que es la alternativa a OpenGL, pero utilizando JNI? ¿Hay alguna?

Puede usar OpenGL ES, un sabor de la especificación de OpenGL destinada a dispositivos incrustados. Esta versión también está optimizada para dispositivos móviles. OpenGL ES está disponible para Android e iOS.

Las siguientes preguntas de SO pueden ayudarle en la dirección correcta cuando se trata de implementar esto:

  • Reproductor de vídeo Android con NDK, OpenGL ES y FFmpeg
  • Androide. Cómo reproducir video en Surface (OpenGL)
  • OpenGL en Android para mostrar vídeo
  • Reproducir video usando opengles, android
  • Opengl es (iphone) render de archivo
  • https://discussions.apple.com/message/7661759#7661759
  • Android poco convencional y desagradable durante el código de carga de JNI / OpenGL ES
  • Androide. Cómo mover el objeto en la dirección que se enfrenta (usando Vector3 y Quaternion)
  • ¿Por qué libgdx SpriteBatch / BitmapFont rompe Texture.bind?
  • ¿Cuál es el parámetro "offset" en GLES20.glVertexAttribPointer / glDrawElements, y de dónde proviene ptr / indices?
  • ¿Por qué eclipsar mi textura con el color?
  • Rendimiento lento de glTexSubImage2D en Nexus 10 / Android 4.2.2 (Samsung Exynos 5 con Mali-T604)
  • Android sólo juego en OpenGL: rendimiento en C ++ (NDK) vs Java (Dalvik)
  • La función Allocation.getSurface () de RenderScript siempre se queja de "llamada a OpenGL ES API sin contexto actual"
  • Mezcla dos texturas con diferentes coordenadas y tamaños en el mismo sombreado
  • ¿Por qué eglMakeCurrent () falla con EGL_BAD_MATCH?
  • ¿Es OpenGL en Android un asesino de la batería?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.