opengl을 이용해서 게임을 만들고 있는데 


사용자가 게임을 진행했던 화면을 녹화해서 


리플레이를 보여주고자 합니다


glreadpixels를 이용해서 현재 그리고 있는 화면 캡쳐는 성공을 했는데 


glreadpixels의 속도가 느려서 녹화속도가 24fps 이상이 나오도록 하는데 문제가 있습니다.


듀얼코어인 xoom에서 연속으로 돌리면 촬영속도가 5 fps 정도밖에 나오지 않습니다.


framebuffer를 읽는 것으로 하면 속도가 빠르게 나온다고 하지만 


root 권한을 얻어야만 되는 방법밖에는 확인하지 못했습니다.


제가 풀어야 하는 문제가 다른 앱이 구동하는 화면을 캡쳐해서 


녹화하는 것보다는 쉬운 문제라고 생각이 드는데 방법을 잘 모르겠습니다.


현재 제가 생각하는 방법은 


1. glreadpixels 대신 더 빠른 glcopyteximage2d와 같은 명령어를 이용한다.


2. framebuffer를 루트권한 없이 얻을 수 있는 방법을 이용한다

(진저부터는 해당 api가 제공된다는 기사를 봤는데 예제코드를 찾을 수가 없네요 ㅠㅠ)

http://downloadsquad.switched.com/2011/03/01/android-2-3-3-allows-screenshots-with-no-root-required/


3. 화면에 그리는 것을 offscreen용으로 한번 더 그려서 그것을 사용한다..


이 세가지 방법 정도가 생각 나는데.. 


어떻게 구현해야 할지를 잘 모르겠습니다. 


혹시 위 방법중에서 구현 해보신 경헙이 있으시거나 


화면을 녹화하는 다른 방법을 아시는 분이 있으면 조언 부탁드립니다 ~


연속으로 캡쳐한 화면은 ffmpeg를 이용해서 동영상으로 인코딩할 생각입니다.


아이폰에서는 OS 단에서 레코딩할 수 있는 것이 제공 되던데 


안드로이드는 MediaRecorder의 CaptureSource가 camera밖에 지원이 안되더라구요


이것도 더 좋은 방법이 있는지 알고 싶습니다