Если вы хотите использовать решение только для iOS 5, взгляните на пример приложения ChromaKey из сеанса WWDC 2011 года на AVCaputureSession.
Эта демонстрация захватывает 30 кадров в секунду видео со встроенной камеры и передает каждый кадр в OpenGL в качестве текстуры. Затем он использует OpenGL для манипулирования кадром и при необходимости записывает результат в выходной видеофайл.
В коде используется серьезная низкоуровневая магия для привязки пиксельного буфера Core Video от AVCaptureSession к OpenGL, чтобы они разделяли память в графическом оборудовании.
Должно быть довольно просто изменить AVCaptureSession для использования файла фильма в качестве входного, а не входного сигнала камеры.
Возможно, вы могли бы настроить сеанс для доставки кадров в виде Y / UV, а не RGB, где компонент Y - это яркость. В противном случае было бы довольно просто написать шейдер, который бы преобразовывал значения RGB для каждого пикселя в значения яркости.
Вы должны иметь возможность делать все это на ВСЕХ кадрах, а не только на каждом 10-м кадре.