我需要做的是解码视频帧并将这些帧呈现在梯形表面上。我的开发平台是Android 2.2版本。
我不使用MediaPlayer服务,因为我需要访问已解码的帧。
目前我所做的有:
- 我正在使用Stagefright框架提取已解码的视频帧。 - 然后将每一帧从YUV420格式转换为RGB格式。 - 然后将转换后的帧复制到纹理,并呈现到OpenGL表面上。 - 需要注意的是,我正在使用Processing而不是直接使用OpenGL调用。
现在我面临的问题是:
- 我只能使用Stagefright解码MP4文件。 - 渲染太慢,对于320x420的帧约为100ms。 - 尚未添加音频,我只能播放视频,但仍然不知道如何同步播放音频帧。
以下是我的问题:
- 如何支持其他视频格式?我应该使用Stagefright还是切换到FFmpeg? - 如何提高性能?我应该至少支持720p吗? - 我应该直接使用OpenGL调用而不是Processing吗?这样会提高性能吗? - 如何在播放过程中同步音频帧?
我不使用MediaPlayer服务,因为我需要访问已解码的帧。
目前我所做的有:
- 我正在使用Stagefright框架提取已解码的视频帧。 - 然后将每一帧从YUV420格式转换为RGB格式。 - 然后将转换后的帧复制到纹理,并呈现到OpenGL表面上。 - 需要注意的是,我正在使用Processing而不是直接使用OpenGL调用。
现在我面临的问题是:
- 我只能使用Stagefright解码MP4文件。 - 渲染太慢,对于320x420的帧约为100ms。 - 尚未添加音频,我只能播放视频,但仍然不知道如何同步播放音频帧。
以下是我的问题:
- 如何支持其他视频格式?我应该使用Stagefright还是切换到FFmpeg? - 如何提高性能?我应该至少支持720p吗? - 我应该直接使用OpenGL调用而不是Processing吗?这样会提高性能吗? - 如何在播放过程中同步音频帧?