MediaCodec使用inputSurface编码视频,但丢帧

时间:2019-06-19 03:55:52

标签: android encode mediacodec surface

我正在寻找最快的方法来在Android设备上“解码编辑编码”视频。所以我选择带有Surface的MediaCodec作为输入和输出。

这是我的想法:
1.使用MediaCoder解码mp4文件,输出为SurfaceTexture;
2.使用OpenGL编辑表面,输出为纹理;
3.使用MediaCodec进行编码,输入为Surface

问题是: 解码和编辑比编码快得多,所以当我解码和编辑50帧时,编码可能只消耗10帧。但是当我使用表面通过Encode输入时,我不知道编码器是否消耗了所有先前的帧。因此丢失了40帧。

有什么办法让我知道表面消耗状态,以便我可以控制解码速度或其他任何想法吗?

0 个答案:

没有答案