帮助与文档

> >

在默认情况下ShareREC会将录制的视频存入mp4文件,然而考虑到需求的多变,自1.5.0版以后,我们加入了自定义视频输出方式的支持,其使用方法列述如下:

一、添加集成

首先,创建一个类,使其继承自“cn.sharerec.recorder.MediaOutput”,并实现抽象方法。如:

其次,通过ShareREC获取具体游戏引擎下的Recorder实例,如:

最后,将MediaOutput的子类实例设置给Recorder实例:

二、方法说明

MediaOutput的onStart、onPause、onResume、onStop对应着Recorder的工作周期,在Recorder切换状态时被调用。继承时并不一定都要处理,可根据具体业务而定。

onAudio和onVideo会在Recorder开始后回调每一帧音频和视频数据,多数格式为aac和h264。但是其各自的第一帧都是配置帧,音频对应的是esds信息,视频对应的是sps+pps信息。这两个方法里的buffer参数都是ByteBuffer类型、size表示buffer中数据的字节数,presentationTimeUs表示输入编码器时的时间(单位:微妙),flag表示当前帧的类型,有三个取值:

分别表示P帧、I帧和配置帧。视频轨道有所有类型,音频轨道没有P帧类型。

三、其它信息

MediaOutput默认还携带了视频的高、宽,音频的采样率和声道数等信息。可以通过实例字段获取:

由于录屏时无法确保视频的帧率,所以事先获取编码器帧率是没有意义的。

0 0

相关文档