Si desea hacer una codificación de video acelerada por hardware y decodificación de video H.264 en iOS, la única forma de hacerlo es con AVFoundation. No utilice bibliotecas de terceros para la codificación o decodificación, ya que todas ellas están vinculadas a la CPU, y son mucho más lentas que las que obtiene de AVFoundation. La única razón para usar un codificador o decodificador de terceros sería si está trabajando con un formato no compatible con iOS de manera predeterminada.
Para la decodificación acelerada por hardware, querrá utilizar una instancia de AVAssetReader (o una de las clases de reproductor para la reproducción pura). Con un AVAssetReader, regularmente obtengo velocidades de reproducción 2X o superiores para leer videos codificados en H.264, por lo que los dispositivos iOS usan una muy buena aceleración de hardware para eso.
De manera similar, para la codificación acelerada, usará un AVAssetWriter. Hay algunos trucos para hacer que AVAssetWriter codifique a la mejor velocidad (alimentando tramas BGRA, utilizando un grupo de buffer de píxeles, usando los cachés de texturas iOS 5.0 si lee desde OpenGL ES), que describo detalladamente en this answer.
Si desea ver un código que utiliza las rutas más rápidas que he encontrado para la codificación y decodificación acelerada, puede consultar mi marco de código abierto GPUImage que, a diferencia del conectado por Anastasia, es totalmente gratuito. .
El título de la pregunta es "..video decodificación", pero la pregunta real es acerca de la codificación, ¿no? Tal vez, deberías editar el título? – Anastasia
Hay una biblioteca que permite codificar tramas sin formato a H.264: http://www.foxitsolutions.com/iphone_h264_sdk.html. Esta biblioteca utiliza un codificador de hardware y ofrece marcos H.264 separados. Consulte esta pregunta y respuesta: http://stackoverflow.com/questions/7979842/video-encoding-libraries-for-ios/ – Anastasia
Quizás un duplicado: http://stackoverflow.com/questions/25197169/how-to- decode-ah-264-frame-on-ios-by-hardware-decoding –