Ответ 1
Apologies; набрав на iPhone, поэтому я буду немного кратким.
Создайте AVURLAsset с URL вашего видео - это может быть локальный URL-адрес файла, если хотите. Все, что может сделать QuickTime, прекрасно, поэтому MOV или M4V в H.264, вероятно, лучший источник.
Запросить актив для дорожек типа AVMediaTypeVideo. Вы должны получить только один, если ваше исходное видео не имеет нескольких углов камеры чего-то подобного, поэтому простое принятие objectAtIndex: 0 должно предоставить вам AVAssetTrack, который вы хотите.
Используйте это для создания AVAssetReaderTrackOutput. Возможно, вы хотите указать kCVPixelFormatType_32BGRA.
Создайте AVAssetReader с использованием актива; прикрепите выходной дорожку считывателя активов в качестве выхода. И вызвать startReading.
В дальнейшем вы можете вызвать copyNextSampleBuffer на выходе трека, чтобы получить новый CMSampleBuffers, поставив вас в такое же положение, как если бы вы делали ввод с камеры. Таким образом, вы можете заблокировать это, чтобы получить содержимое пикселя и нажать на OpenGL через расширение Apple BGRA.