媒体补充增强信息(SEI)
更新时间:2021-05-26
简介
在 LinkV SDK
中 当推流的时候,远端拉流后会收到 OnDrawFrame
方法的回调,也就是收到远端视频数据的时候会回调这个方法。
如果想要在推流的时候附加文本信息,然后在拉流端进行接收,就用到 sei
实现文本数据和音视频内容数据的同步。
一般可用于歌词同步、直播答题等需要随视频数据下发同步文本的场景。
使用步骤
- 调用
LVRTCEngine
的setLiveRoomCallback
方法设置实现接口LVRTCCallback
,然后在推流方的代理方法中反馈对应的sei
信息。 - 在拉流方的远程视频数据回调的代理方法中接受到对应的
sei
数据信息。
推流方
-
SDK
发送视频时会回调下面方法,开发者可以返回需要随视频携带的信息即可。 -
此方法每一帧都会回调,会调用多次,需要控制处理。
/**
* 是否需要在视频帧上附加其他媒体信息
* @return 请返回要随当前视频帧发送的附加数据(字符串最长长度 24 个字符)
*/
String onMediaSideInfoInPublishVideoFrame() {
return data;
}
拉流方
- 远端用户收到该自定义数据时会收到自定义数据的通知
/**
* 收到远端视频数据回调,如果为 SDK 设置了渲染视图,SDK 内部会自动将该视频帧渲染出来
* @param i420Buffer ByteBuffer类型,i420 byte数组
* @param width int类型,视频帧宽
* @param height int类型,视频帧高
* @param stride int类型,该帧数据stride
* @param userId String类型,该帧数据对应的用户id
* @param ext String类型,随视频数据携带的附加数据信息
* @return long类型,建议返回当前渲染完成的时间戳,用以统计渲染延迟
*/
long onDrawFrame(ByteBuffer i420Buffer, final int width, final int height, int strideY, final String userId, String ext)