2011-11-02 9 views
8

Realmente me quedé con ese problema, porque no he visto suficiente información en Internet sobre la codificación de video en iOS, sin embargo, podemos observar muchas aplicaciones que lidian con el problema de la transmisión de video con éxito (skype , qik, justin.tv, etc.)
Voy a desarrollar una aplicación, que debe enviar fotogramas de video obtenidos de la cámara y codificados en h.263 (h.264 o MPEG-4 está bajo decisión) a un Servidor web. Para esto, necesito una biblioteca de codificación de video. Obviamente, ffmpeg puede ocuparse de esa tarea, pero está bajo licencia LGPL, lo que probablemente podría ocasionar algunos problemas al enviar la aplicación a la AppStore. Por otro lado, hay algunos applications, que parecen usar la biblioteca ffmpeg, pero solo Timelapser establece claramente este hecho en la descripción de la aplicación. ¿Esto significa que otras aplicaciones no están usando ffmpeg o simplemente ocultando esta información?Bibliotecas de codificación de video para iOS

Por favor, comparta sus opiniones y experiencia en este tema. Estoy abierto para dicsussion.

Respuesta

8

Después de buscar en Google y hacer algunas investigaciones en esta área, encontré esta biblioteca http://www.foxitsolutions.com/iphone_h264_sdk.html. Realmente usan la codificación de hardware. He examinado el ejemplo de demostración con instrumentos, y me mostraron que durante la codificación, se usa ~ 12% de cpu y se llama constantemente a syscall read(). De eso puedo concluir, que su biblioteca usa la norma AVFoundation's AVAssetWriter para escribir en el archivo temporal, y (lo más probable) hilo concurrente se usa para leer este archivo temporal para recuperar marcos codificados.

Además, eche un vistazo a http://www.videolan.org/developers/x264.html. Está bajo GPL, pero aún puede ser útil.

+0

Gracias por el enlace a Foxit Solutions. Lamentablemente, ahora no tienen ninguna demo, solo correo electrónico de contacto. ¿Conoces otras bibliotecas que puedan ayudar? Necesito envolver los datos sin formato H264 con un contenedor (por ejemplo, un contenedor mp4). –

+0

@LukaszCzerwinski Escribí mi propio código para abordar este problema hace un tiempo (en 2012, creo). Este código aún debe ser correctamente depurado ya que el proyecto fue abandonado. Dime si estás interesado, todavía debería tener las fuentes de eso. – peetonn

+0

Guau, muchas gracias, sería genial. Me alegra que DM, sin embargo, su perfil dice "Aparentemente, este usuario prefiere mantener un aire de misterio sobre ellos". Además, no hay PM en SO, así que no hay forma de enviarle un DM :) –

Cuestiones relacionadas