最近项目的一个奇葩需求要求客户端分段录制视频上传到后台,实现伪直播,文件格式要求mp4(h264+aac);
首先想到的方案肯定是直接利用MediaRecoder+setMaxDuration 来实现,但是这种方式在完成某段录制,开始下段录制之前,中间有间隔时间,这个时间甚至可以达到1s,
因此在播放时会造成视频画面不连续。
为了解决这个问题,可以在手机端分别采集音视频流,通过MediaCodec编码,再封装成mp4文件。这种方案与上述方式不同之处在于:我们在结束某分段的文件存储时,
不需要停止采集和编码过程,这样就保证了整个采集过程不会漏掉帧画面。
看到评论中有童鞋需要源码,附上源码地址https://download.csdn.net/download/lxy700300/11082342