自定义视频
1、创建自定义视频流对象,传入的第二个参数VIDEO_TAG是自定义的标签,可任意填写。不允许包含下划线'_'
RongRTCAVOutputStream mOutputStream = new RongRTCAVOutputStream(cn.rongcloud.rtc.stream.MediaType.VIDEO, VIDEO_TAG);
//创建用于回显的视图
RongRTCVideoView videoView = RongRTCEngine.getInstance().createVideoView(context);
//把用于回显的视图绑定到视频流中
mOutputStream .setRongRTCVideoView(videoView);
//为自定义视频流设置视频源track
mOutputStream .setRongRTCVideoTrack(RongRTCLocalSourceManager.getInstance().getCustomVideoTrack(mOutputStream ));
2、把创建好的自定义视频流通过 RongRTCLocalUser 的publishAVStream方法,进行发布
localUser.publishAVStream(mOutputStream, new RongRTCResultUICallBack() {
@Override
public void onUiSuccess() {
//发布成功
}
@Override
public void onUiFailed(RTCErrorCode errorCode) {
//发布失败
}
});
3、发送视频数据的接口,我们提供了两种方式:YUV数据或纹理数据,使用者根据拿到的视频数据格式自行选择:
方式一(YUV数据):
mOutputStream.writeByteBuffer(bytes, width, height, rotation);
方式二(纹理数据):
mOutputStream.writeTextureFrame(width, height,oesTextureId,transformMatrix,rotation,timestampNs);