입니다. OpenGL ES 2.0을 사용하여 GLSurfaceView에서 비디오를 재생하고 있습니다. 이제 MediaCodec을 사용하여 표면보기에서 재생 한이 비디오를 MP4 비디오로 인코딩하는 방법을 찾고 있습니다.현재 Android의 MediaCodec으로 비디오를 인코딩하는 경우
따라서 bigflake 예제를 찾았습니다. 내 문제를 완벽하게 해결하는 것 같습니다 (http://bigflake.com/mediacodec/EncodeAndMuxTest.java.txt).
그러나 입력 소스를 올바르게 설정하기에는 너무 어리석은 것 같습니다. 이 예제는 mEncoder.createInputSurface()를 사용하여 입력 소스를 생성하지만 비디오가 실제로 재생되는 GLSurfaceView가 있습니다. 그렇다면 인코더의 입력 소스로 내 서페이스를 어떻게 설정해야합니까?
Grafika (https://github.com/google/grafika)에서 몇 가지 추가 샘플을 찾을 수 있습니다. GLSurfaceView를 사용하면 EGL 컨텍스트를 제어 할 수 없기 때문에이를 공유하거나 (예 : "show + capture camera"참조) 평범한 SurfaceView를 사용하고 EGL을 직접 관리 할 수 있습니다 (대부분의 예제는 Grafika). – fadden