Android 安卓MediaMux&;MediaCodec速度太慢,无法保存视频

Android 安卓MediaMux&;MediaCodec速度太慢,无法保存视频,android,video-capture,android-mediacodec,mediamuxer,Android,Video Capture,Android Mediacodec,Mediamuxer,我的Android应用程序使用OpenGL进行实时视频处理。我正在尝试使用MediaMuxer和MediaCodex将其保存为视频 表演还不够好。每个周期屏幕都会更新,并保存到文件中。屏幕很平滑,视频文件很恐怖。我的意思是当它变化很快,帧速率看起来是应该的1/2或1/3时,主要的运动模糊 这似乎是由于内部夹持设置而造成的限制。我无法让它输出比特率大于288KBPS的视频。我认为它没有钳制请求的参数,因为1024x102480x480和240x240的帧速率没有差异。如果它很难跟上,那么当像素数下

我的Android应用程序使用OpenGL进行实时视频处理。我正在尝试使用MediaMuxer和MediaCodex将其保存为视频

表演还不够好。每个周期屏幕都会更新,并保存到文件中。屏幕很平滑,视频文件很恐怖。我的意思是当它变化很快,帧速率看起来是应该的1/2或1/3时,主要的运动模糊

这似乎是由于内部夹持设置而造成的限制。我无法让它输出比特率大于288KBPS的视频。我认为它没有钳制请求的参数,因为1024x102480x480和240x240的帧速率没有差异。如果它很难跟上,那么当像素数下降了一个因子>10时,它至少应该会有所改善

应用程序位于此处:

我很想发布一个代码示例,但是我的程序有10K行代码,有很多相关的代码就是为了解决这个问题

任何帮助都将不胜感激

编辑:

我尝试了10多件不同的事情。我现在没有主意了。我希望我可以保存视频不压缩,硬盘应该能够跟上一个足够小的图像和中等fps


似乎这种编码方法不适合我的视频。这些帧差别很大,试图“移动”帧的一部分,作为一种编码。相反,我需要完整的画面我认为与M-JPEG类似的东西会非常有效。JPEG的大小往往是位图的十分之一。它应该允许一个合理的大小,几乎不需要CPU的处理能力,因为我们正在做的是图像压缩而不是视频压缩。我希望我有一个很好的库用于此功能。

您正在测试什么设备?什么版本的Android?你在格拉菲卡的“秀+摄像机”中看到了类似的行为吗?()三星Galaxy S4。我使用的是安卓4.3。不,我还没有尝试过那个应用程序,我会在有时间的时候尝试。我只是注意到在“记录GL应用程序”下,他说“3还没用”,这是指将结果保存到文件中(我想)。但我会在有时间的时候进行测试!请检查此项:“#3尚未工作”指的是使用
glBlitFramebuffer()
,这在我测试的设备上被破坏。将结果保存到文件可以正常工作。我猜你的应用程序的问题是不正确的演示时间戳,这在某些设备上可能会导致帧丢失和低质量输出,因此请检查你随帧提交的值。