C++SDK
1.0.0
|
#include <mvideo.h>
类 | |
class | IListener |
Public 成员函数 | |
virtual Result | setListener (IListener *listener)=0 |
virtual Result | setVideoBitrate (const DeviceId &deviceId, int minBitrateBps, int maxBitrateBps)=0 |
virtual bool | isLocalCameraInPreview (const DeviceId &fromId)=0 |
main(default) camera operate 更多... | |
virtual Result | previewLocalCamera (IVideoRender *render)=0 |
virtual Result | previewLocalCamera (Camera &fakeDevice, FakeVideoCapturer *capture, IVideoRender *render)=0 |
virtual Result | unpreviewLocalCamera ()=0 |
virtual Result | updateCaptureCapability (const DeviceId &deviceId, CameraCapability &quality)=0 |
virtual Result | publishLocalCamera ()=0 |
virtual Result | unpublishLocalCamera ()=0 |
virtual Result | previewLocalCamera (const DeviceId &deviceId, IVideoRender *render)=0 |
多摄像头操作模式:能同时打开多个摄像头,不区分前置与后置摄像头。 ************************* 更多... | |
virtual Result | previewLocalCamera (const Camera &device, IVideoRender *render)=0 |
virtual Result | unpreviewLocalCamera (const DeviceId &deviceId)=0 |
virtual Result | publishLocalCamera (const Camera &device)=0 |
virtual Result | publishLocalCamera (Camera &fakeDevice, FakeVideoCapturer *capture)=0 |
virtual Result | unpublishLocalCamera (const DeviceId &deviceId)=0 |
virtual Result | switchLocalCamera (const DeviceId &fromId, const DeviceId &toId)=0 |
virtual Result | previewLocalCamera (CameraType type, IVideoRender *render)=0 |
前后置摄像头操作模式:每一时刻只能打开前后或者后置摄像头中的一路,可以做前后切换。 ************************* 更多... | |
virtual Result | publishLocalCamera (CameraType type)=0 |
virtual Result | switchToLocalCamera (CameraType toType)=0 |
virtual CameraType | getCurrentCameraType () const =0 |
virtual CameraCapability | getRealCaptureCapability (const DeviceId &deviceId)=0 |
virtual Result | updateCameraData (const DeviceId &deviceId, int level, const String &description)=0 |
virtual Result | muteLocalCamera (const DeviceId &deviceId)=0 |
virtual Result | unmuteLocalCamera (const DeviceId &deviceId)=0 |
virtual Result | subscribe (const DeviceId &deviceId)=0 |
subscribe and publish list 更多... | |
virtual Result | subscribe (const DeviceId &deviceId, StreamType stream)=0 |
virtual Result | subscribe (const DeviceId &deviceId, VideoQuality quality)=0 |
virtual Result | changeSubscribedVideoQuality (const DeviceId &deviceId, VideoQuality quality)=0 |
virtual Result | unsubscribe (const DeviceId &deviceId)=0 |
virtual Result | getPublishedCameras (CamerasType &items) const =0 |
virtual bool | isCameraPublished (const DeviceId &fromId) const =0 |
virtual Result | getSubscribedCameras (CamerasType &items) const =0 |
virtual bool | isCameraSubscribed (const DeviceId &fromId) const =0 |
virtual Result | remotecmdPublishCamera (const Camera &device)=0 |
remote camera control 更多... | |
virtual Result | remotecmdUnpublishCamera (const DeviceId &deviceId)=0 |
virtual Result | attachRender (const DeviceId &deviceId, IVideoRender *render)=0 |
render video 更多... | |
virtual Result | detachRender (const DeviceId &deviceId)=0 |
virtual Result | detachRender (IVideoRender *render)=0 |
virtual ICameraDevice * | getCameraDevice ()=0 |
device manager 更多... | |
virtual Result | setMixerDataListener (IVideoRender *listener)=0 |
virtual Result | setMixerMainVideo (const DeviceId &deviceId)=0 |
virtual Result | setMixerVideoSize (int width, int height, const String &background)=0 |
virtual Result | addMixerOverlayVideo (const DeviceId &deviceId, int zorder, float x, float y, float w, float h)=0 |
virtual Result | addMixerOverlayVideoPixel (const DeviceId &deviceId, int zorder, int x, int y, int w, int h)=0 |
virtual Result | updateMixerOverlayVideo (const DeviceId &deviceId, int zorder, float x, float y, float w, float h)=0 |
virtual Result | updateMixerOverlayVideoPixel (const DeviceId &deviceId, int zorder, int x, int y, int w, int h)=0 |
virtual Result | removeMixerOverlayVideo (const DeviceId &deviceId)=0 |
virtual Result | clearMixerVideos ()=0 |
virtual bool | isCameraWait (const DeviceId &fromId, const String &opt) const |
virtual bool | isCameraOngoing (const DeviceId &fromId, const String &opt) const |
![]() | |
virtual IRoom * | getRoom ()=0 |
virtual IMUserManager * | getUserManager ()=0 |
virtual bool | isSelfUser (const UserId &userId) const =0 |
virtual bool | isSelfDevice (const DeviceId &deviceId) const =0 |
virtual const UserId | getOwnerId (const DeviceId &deviceId) const =0 |
virtual const String & | getOwnerName (const DeviceId &deviceId) const =0 |
静态 Public 成员函数 | |
static IMVideo * | getVideo (IRoom *room) |
Protected 成员函数 | |
virtual | ~IMVideo () |
![]() | |
virtual | ~IModule () |
房间中视频模块接口.
房间视频模块定义房间中视频发布、订阅功能接口。
|
inlineprotectedvirtual |
|
pure virtual |
添加视频到主视频特定位置
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
[in] | zorder | 多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10 |
[in] | x | 此视频在左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width * X |
[in] | y | 此视频在左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height * Y |
[in] | w | 此视频宽度比例,取值0.0~1.0,内部取值为:width * W |
[in] | h | 此视频高度比例,取值0.0~1.0,内部取值为:height * H |
|
pure virtual |
添加视频到主视频特定位置
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
[in] | zorder | 多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10 |
[in] | x | 此视频在左上角左边位置,即x坐标, |
[in] | y | 此视频在左上角上边位置,即y坐标, |
[in] | w | 此视频宽度, 0时取视频本身宽度 |
[in] | h | 此视频高度, 0时取视频本身高度 |
|
pure virtual |
render video
关联视频数据和显示对象,在render中显示视频
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
[in] | *render | 显示对象接口指针。 |
|
pure virtual |
|
pure virtual |
清理掉所有的混屏视频,包括主视频;如果需要再次开启合屏,需要重新设置主视频和Overlay视频。
解除摄像头视频数据的所有显示对象关联
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
|
pure virtual |
|
pure virtual |
|
pure virtual |
获取当前使用的摄像头类型
|
pure virtual |
获取房间中已发布视频摄像头列表
[in,out] | items | 摄像头设备列表。 |
|
pure virtual |
获取正在使用的摄像头的采集信息
[in] | deviceId | 摄像头设备ID。 |
|
pure virtual |
获取本用户订阅的摄像头视频列表
[in,out] | items | 摄像头设备列表。 |
获取房间内视频模块接口
[in] | room | 房间对象指针。 |
|
inlinevirtual |
|
pure virtual |
判断摄像头是否已经发布到房间中
[in] | fromId | 摄像头Id,唯一标示一路摄像头视频。 |
|
pure virtual |
判断摄像头是否已经被本用户订阅
[in] | fromId | 摄像头Id,唯一标示一路摄像头视频。 |
|
inlinevirtual |
|
pure virtual |
main(default) camera operate
已经published或preview的视频暂停:视频卡住,且也不发送到网络上
[in] | deviceId | 摄像头设备ID。 |
|
pure virtual |
预览本地缺省摄像头视频
[in] | *render | 显示对象接口指针 |
|
pure virtual |
预览模拟摄像头视频
[in,out] | fakeDevice | 模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的deviceId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。 |
[in] | *capture | 模拟摄像头视频输入接口。 |
[in] | *render | 显示对象接口指针 |
|
pure virtual |
多摄像头操作模式:能同时打开多个摄像头,不区分前置与后置摄像头。 *************************
预览本地某一摄像头视频
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
[in] | *render | 显示对象接口指针 |
|
pure virtual |
|
pure virtual |
前后置摄像头操作模式:每一时刻只能打开前后或者后置摄像头中的一路,可以做前后切换。 *************************
预览本机前置或者后置摄像头视频
[in] | type | 摄像头类型。 |
[in] | *render | 显示对象接口指针 |
|
pure virtual |
发布缺省摄像头视频
发布摄像头视频
[in] | device | 摄像头信息。 |
|
pure virtual |
发布模拟摄像头视频
[in,out] | fakeDevice | 模拟摄像头信息,接口会生成deviceId,生成规则:"userId_"+(用户输入的deviceId), 此处deviceId不能包含'_'和'{'、'}'此三个字符。 |
[in] | *capture | 模拟摄像头视频输入接口。 |
|
pure virtual |
发布特定类型摄像头视频
[in] | type | 摄像头类型。 |
remote camera control
命令远端用户发布某一摄像头视频
[in] | device | 远端摄像头信息。 |
|
pure virtual |
命令远端用户取消发布摄像头视频
[in] | deviceId | 摄像头Id。 |
|
pure virtual |
移除主视频上的某一视频
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
|
pure virtual |
设置获取视频数据回调接口,此数据仅回调一份数据:数据为主视频+各个Overlay的视频,视频大小为主视频大小;如使用ILivecast接口,不需要设置此接口。
设置回调视频数据的视频主视频
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
|
pure virtual |
设置混频后视频数据的尺寸
[in] | width | 视频图像宽。 |
[in] | height | 视频图像高。 |
[in] | background | 背景图。 |
|
pure virtual |
设置视频动态码率调整的范围,最小和最大比特率,
[in] | deviceId | 视频设备对应ID。 |
[in] | minBitrateBps | 最小比特率,单位bps |
[in] | maxBitrateBps | 最大比特率,单位bps |
subscribe and publish list
订阅摄像头视频
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
|
pure virtual |
订阅摄像头视频指定视频主辅流
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
[in] | stream | 指定视频流(主流,辅流1,辅流2)。 |
|
pure virtual |
订阅摄像头视频指定视频质量视频
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
[in] | quality | 订阅视频的清晰度要求。 |
|
pure virtual |
切换视频源
[in] | fromId | 原摄像头Id。 |
[in] | toId | 切换后摄像头Id。 |
|
pure virtual |
切换特定类型摄像头视频源
[in] | toType | 摄像头类型。 |
取消视频暂停
[in] | deviceId | 摄像头设备ID。 |
|
pure virtual |
取消预览缺省摄像头视频
取消预览摄像头视频
[in] | deviceId | 摄像头Id。 |
|
pure virtual |
取消发布缺省摄像头视频
取消发布摄像头视频
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
取消订阅摄像头视频
[in] | deviceId | 摄像头Id,唯一标示一路摄像头视频。 |
|
pure virtual |
摄像头数据更改
[in] | deviceId | 摄像头Id,唯一标示一个摄像头。 |
[in] | level | 摄像头整形数据。 |
[in] | description | 摄像头字符串数据。 |
|
pure virtual |
更新正在使用的摄像头的视频质量(分辨率和帧率)
[in] | deviceId | 摄像头Id。 |
[in] | quality | 视频质量。 |
|
pure virtual |
更新附加视频在主视频上显示的位置
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
[in] | zorder | 多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10 |
[in] | x | 此视频在左上角左边位置,即x坐标,取值0.0~1.0,内部取值为:width * X |
[in] | y | 此视频在左上角上边位置,即y坐标,取值0.0~1.0,内部取值为:height * Y |
[in] | w | 此视频宽度比例,取值0.0~1.0,内部取值为:width * W |
[in] | h | 此视频高度比例,取值0.0~1.0,内部取值为:height * H |
|
pure virtual |
更新附加视频在主视频上显示的位置
[in] | deviceId | 摄像头Id,唯一标示一路共享的摄像头视频。 |
[in] | zorder | 多个视频覆盖时,前后位置,zorder越小,视频越在下层,会被覆盖;取值0-10 |
[in] | x | 此视频在左上角左边位置,即x坐标, |
[in] | y | 此视频在左上角上边位置,即y坐标, |
[in] | w | 此视频宽度, 0时取视频本身宽度 |
[in] | h | 此视频高度, 0时取视频本身高度 |