Alternativa a ffmpeg para iOS

He estado intentando implementar ffmpeg en mi aplicación ios varias semanas. Y ahora puedo reproducir varios files avi, pero otros files como flv, wma, mp4 … juegan lento.

He pasado mucho time con ffmpeg y opengl y no encuentro solución.

Estoy buscando otras alternativas para reproducir estos files en el dispositivo ios.

Alguien conoce otras bibliotecas, frameworks, … que puedo utilizar para reproducir estos files. No importa si tienen licencias comerciales.

Muchas gracias,

Editado:

Init Shader:

shader = [[GLShader alloc] initWithFileName:@"render" attributes:[NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:0], @"position", [NSNumber numberWithInt:1], @"texCoords", nil] uniforms:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0], @"sampler0", [NSNumber numberWithInt:0], @"viewProjectionMatrix",nil]]; 

render.fsv:

 uniform sampler2D sampler0; varying highp vec2 _texcoord; void main() { gl_FragColor = texture2D(sampler0, _texcoord);} 

render.vsf:

 attribute vec4 position; attribute vec2 texCoords; varying vec4 colorVarying; varying vec2 _texcoord; uniform mat4 viewProjectionMatrix; void main() { _texcoord = texCoords; gl_Position = viewProjectionMatrix * position;} 

¿Cómo puedo implementar su solución en este código?

He experimentado problemas similares. Hubo dos cuellos de botella:

  1. desencoding
  2. conversión de yuv a formattings rgb

Solucioné el segundo problema al convertir la image usando sombreadores. Funciona realmente rápido ahora (puedo reproducir 6 videos simultáneamente a 30 fps en iPad2).

Aquí hay una parte del fragment shader:

  uniform sampler2D y; uniform sampler2D u; uniform sampler2D v; ... y = texture2D(y, vec2(nx,ny)).r; u = texture2D(u, vec2(nx, ny)).r - 0.5; v = texture2D(v, vec2(nx, ny)).r - 0.5; r = y + 1.13983*v; g = y - 0.39465*u - 0.58060*v; b = y + 2.03211*u; gl_FragColor = vec4(r, g, b, 1.0); 

NOTA: debe almacenar los componentes y, u, v en 3 texturas diferentes.

nx y ny: son coorderadas de textura normalizadas (de 0 a 1 textura).