iPhone에서 로컬 mpeg-4 비디오 프레임을 디코딩하는 가장 빠른 방법을 찾고 있습니다. 저는 매 10 번째 프레임마다 픽셀의 휘도 값에 관심이 있습니다. 비디오를 아무 곳에 나 렌더링 할 필요가 없습니다.iPhone에서 비디오 프레임 디코딩 GPU
저는 ffmpeg, AVAssetReader, ImageAssetGenerator, OpenCV 및 MPMoviePlayer를 시도했지만 너무 느립니다. 내가 얻을 수있는 가장 빠른 속도는 ~ 2x (분당 2 분의 비디오 스캔)입니다. 나는 10x에 더 가까운 것을 원할 것이다.
위의 시도에서 GPU를 사용하지 않았다고 가정하면 GPU에서 실행되는 무언가로 내 목표를 달성 할 수있는 방법이 있습니까? OpenGL은 대부분 렌더링 출력을위한 것 같지만 들어오는 비디오의 필터로 사용되는 것을 보았습니다. 어쩌면 그게 옵션일까요?
미리 감사드립니다.
그 샘플을 얻으려면 WWDC 2011 참석자가되어야 할 것처럼 보입니다. 나는 여전히 실시간 트랜스 코딩 (transcoding)이 효과적이라는 점에 대해 걱정하고있다. 15 배속을 원합니다 (1 분 안에 15 분간 비디오를 스캔했습니다). 병 목이 프레임 디코딩에 있다고 생각합니다. –
@ 사이먼.d - ChromaKey 예제에서 사용 된 기술에 대한 내 대답은 http://stackoverflow.com/a/9704392/19679이며, GPUImage 코드를 가져 와서 영화 인코딩에 대한 동작을 확인할 수 있습니다. 빠른 텍스쳐 업로드를 사용하기 위해 아직 영화 읽기 코드를 업데이트하지 않았습니다. iOS 디바이스에는 H.264를 디코딩하기위한 전용 하드웨어가 있기 때문에 iOS 5.0 빠른 텍스처 업로드로 AVFoundation을 사용하는 것보다 더 빨리 영화 파싱을하지 않을 것이라고 확신합니다. –
Apple의 RosyWriter 예제 코드는이 AVCaptureSession -> OpenGL 링크도 보여줍니다. [here] (https://developer.apple.com/library/ios/samplecode/RosyWriter/Introduction/Intro.html)를 참조하십시오. – bcattle