我正在尋找最快的方式來解碼iPhone上的本地mpeg-4視頻幀。我只關心每10幀中像素的亮度值。我不需要在任何地方渲染視頻。解碼iPhone GPU上的視頻幀
我試過ffmpeg,AVAssetReader,ImageAssetGenerator,OpenCV和MPMoviePlayer,但它們都太慢了。我能得到的最快速度是〜2x(一分鐘內掃描2分鐘的視頻)。我想要更接近10倍的東西。
假設我上面的嘗試沒有使用GPU,是否有任何方法可以通過GPU上運行的某些東西來實現我的目標? OpenGL似乎主要用於渲染輸出,但我已經看到它用作傳入視頻的過濾器。也許這是一個選擇?
在此先感謝!
看起來好像我需要成爲WWDC 2011的參與者才能獲得該示例。我仍然擔心這是實時轉碼。我想獲得15倍的速度(1分鐘內掃描15分鐘的視頻)。我認爲瓶頸在幀解碼中。 – 2012-03-02 17:35:34
@simon。d - 我在我的答案中描述了ChromaKey示例中使用的技術:http://stackoverflow.com/a/9704392/19679,您可以抓住我的GPUImage代碼來查看編碼影片的動作。不過,我還沒有更新我的電影閱讀代碼以使用快速紋理上傳。由於iOS設備具有用於解碼H.264的專用硬件,我感到有理由肯定的說,與使用iOS 5.0快速紋理上傳的AVFoundation相比,您無法獲得更快的電影解析。 – 2012-03-22 23:34:25
Apple的RosyWriter示例代碼還演示了此AVCaptureSession - > OpenGL鏈接。請參閱[這裏](https://developer.apple.com/library/ios/samplecode/RosyWriter/Introduction/Intro.html)。 – bcattle 2014-05-27 18:57:16