Jeśli chcesz sprzętowo przyspieszać kodowanie wideo i dekodować wideo H.264 na iOS, jedynym wyjściem jest AVFoundation. Nie używaj bibliotek innych firm do kodowania lub dekodowania, ponieważ wszystkie one są obecnie związane z procesorem i są znacznie wolniejsze niż te, które dostajesz z AVFoundation. Jedną z przyczyn użycia kodera lub dekodera innej firmy byłoby domyślne korzystanie z formatu nieobsługiwanego w systemie iOS.
Aby dekodować sprzętowo, należy użyć instancji AVAssetReader (lub jednej z klas odtwarzaczy do odtwarzania czystego). Dzięki AVAssetReader, regularnie uzyskuję 2X lub wyższe prędkości odtwarzania do odczytu wideo zakodowanego w H.264, więc urządzenia iOS używają do tego dość dobrego przyspieszenia sprzętowego.
Podobnie, w przypadku przyspieszonego kodowania, użyjesz AVAssetWriter. Istnieje kilka trików, które skłoniły AVAssetWriter do kodowania z najlepszą szybkością (podawanie w ramkach BGRA, korzystanie z puli buforów pikseli, korzystanie z pamięci podręcznych tekstur systemu iOS 5.0 przy czytaniu z OpenGL ES), które opisuję szczegółowo w ramach this answer.
Jeśli chcesz zobaczyć kod korzystający z najszybszych ścieżek, które znalazłem dla przyspieszonego kodowania i dekodowania, możesz spojrzeć na mój framework open source GPUImage, który, w przeciwieństwie do tego, z którym łączy Anastasia, jest całkowicie darmowy .
Tytuł pytania brzmi "... dekodowanie wideo", ale faktyczne pytanie dotyczy kodowania, prawda? Może powinieneś edytować tytuł? – Anastasia
Istnieje biblioteka, która umożliwia kodowanie ramek nieprzetworzonych do formatu H.264: http://www.foxitsolutions.com/iphone_h264_sdk.html. Ta biblioteka używa sprzętowego kodera i daje oddzielne ramki H.264. Proszę zobaczyć to pytanie i odpowiedź: http://stackoverflow.com/questions/7979842/video-encoding-libraries-for-ios/ – Anastasia
Może duplikat: http://stackoverflow.com/questions/25197169/how-to- dekode-ah-264-frame-on-ios-by-hardware-dekodowanie –