Windows(C++)[v1.7.5.0]
| Public 成员函数 | 所有成员列表
VideoStreamManager类 参考abstract

视频流管理器 更多...

#include <PanoRtcStream.h>

class  Callback
 VideoStreamManager 的回调函数, 在使用 VideoStreamManager 之前必须要设置回调以获取事件通知。 更多...
 

Public 成员函数

virtual QResult setCallback (Callback *cb)=0
 设置视频流管理器的回调。 更多...
 
virtual QResult createVideoStream (const char deviceId[kMaxDeviceIDLength], int &streamId)=0
 创建一个新的视频流。 更多...
 
virtual QResult destroyVideoStream (int streamId)=0
 销毁一个视频流。 更多...
 
virtual QResult setCaptureDevice (int streamId, const char deviceId[kMaxDeviceIDLength])=0
 设置或更新视频流的采集设备。 更多...
 
virtual QResult getCaptureDevice (int streamId, char deviceId[kMaxDeviceIDLength])=0
 获取当前使用的视频采集设备 更多...
 
virtual QResult startVideo (int streamId, void *window, const VideoConfig &config)=0
 开启视频流,并且设置渲染窗口 更多...
 
virtual QResult startVideo (int streamId, RtcRenderSink *sink, VideoProfileType profileType)=0
 开启视频流,并且设置数据接收槽 更多...
 
virtual QResult startVideo (int streamId, RtcRenderSink *sink, const VideoSourceConfig &config)=0
 开启视频流,并且设置数据接收槽 更多...
 
virtual QResult stopVideo (int streamId)=0
 关闭视频流 更多...
 
virtual QResult muteVideo (int streamId)=0
 暂停视频流。 更多...
 
virtual QResult unmuteVideo (int streamId)=0
 恢复视频。 更多...
 
virtual QResult setVideoFilter (int streamId, RtcExternalVideoFilter *filter, bool autoRelease=false)=0
 设置视频流过滤器。 更多...
 
virtual QResult subscribeVideo (uint64_t userId, int streamId, void *window, const VideoConfig &config)=0
 订阅用户的视频流, 并设置渲染窗口。 更多...
 
virtual QResult subscribeVideo (uint64_t userId, int streamId, RtcRenderSink *sink, VideoProfileType profileType)=0
 订阅用户的视频流, 并设置视频数据接收槽。 更多...
 
virtual QResult unsubscribeVideo (uint64_t userId, int streamId)=0
 取消订阅用户的视频。 更多...
 
virtual QResult snapshotVideo (uint64_t userId, int streamId, const char *outputDir, SnapshotVideoOption option)=0
 捕获指定用户的视频流画面 更多...
 

详细描述

视频流管理器

注解
如果应用各端都不会同时发送多路视频流,则无需使用视频流管理器。

成员函数说明

◆ createVideoStream()

virtual QResult VideoStreamManager::createVideoStream ( const char  deviceId[kMaxDeviceIDLength],
int &  streamId 
)
pure virtual

创建一个新的视频流。

参数
deviceId设备 ID, 此设备会设置给新视频流。
streamId视频流 ID,创建成功后此参数返回新视频流 ID。
返回
  • OK: 成功
  • 其他: 失败

◆ destroyVideoStream()

virtual QResult VideoStreamManager::destroyVideoStream ( int  streamId)
pure virtual

销毁一个视频流。

参数
streamId视频流 ID。
返回
  • OK: 成功
  • 其他: 失败

◆ getCaptureDevice()

virtual QResult VideoStreamManager::getCaptureDevice ( int  streamId,
char  deviceId[kMaxDeviceIDLength] 
)
pure virtual

获取当前使用的视频采集设备

参数
streamId视频流 ID。
deviceId视频设备ID
返回
返回QResult来指示调用状态

◆ muteVideo()

virtual QResult VideoStreamManager::muteVideo ( int  streamId)
pure virtual

暂停视频流。

参数
streamId视频流 ID
返回
  • OK: 成功
  • 其他: 失败
注解
暂停视频流前请先开启视频流,否则操作将无效。

◆ setCallback()

virtual QResult VideoStreamManager::setCallback ( Callback cb)
pure virtual

设置视频流管理器的回调。

参数
cb回调。
返回
  • OK: 成功
  • 其他: 失败

◆ setCaptureDevice()

virtual QResult VideoStreamManager::setCaptureDevice ( int  streamId,
const char  deviceId[kMaxDeviceIDLength] 
)
pure virtual

设置或更新视频流的采集设备。

参数
streamId视频流 ID。
deviceId采集设备 ID。
返回
  • OK: 成功
  • 其他: 失败

◆ setVideoFilter()

virtual QResult VideoStreamManager::setVideoFilter ( int  streamId,
RtcExternalVideoFilter filter,
bool  autoRelease = false 
)
pure virtual

设置视频流过滤器。

参数
streamId视频流 ID
filter过滤器对象指针
autoRelease让SDK接管对象生命周期的维护。注意对象可能在任何时候被SDK释放,因此用户不应该在设置之后后再次调用过滤器对象。
返回
  • OK: 成功
  • 其他: 失败

◆ snapshotVideo()

virtual QResult VideoStreamManager::snapshotVideo ( uint64_t  userId,
int  streamId,
const char *  outputDir,
SnapshotVideoOption  option 
)
pure virtual

捕获指定用户的视频流画面

参数
userId目标用户的 ID
streamId视频流 ID
outputDir输出路径
option快照选项
返回
  • OK: 成功
  • 其他: 失败

◆ startVideo() [1/3]

virtual QResult VideoStreamManager::startVideo ( int  streamId,
RtcRenderSink sink,
const VideoSourceConfig config 
)
pure virtual

开启视频流,并且设置数据接收槽

参数
streamId视频流 ID
视频数据接收槽
config视频源配置
返回
  • OK: 调用成功
  • others: 调用失败

◆ startVideo() [2/3]

virtual QResult VideoStreamManager::startVideo ( int  streamId,
RtcRenderSink sink,
VideoProfileType  profileType 
)
pure virtual

开启视频流,并且设置数据接收槽

参数
streamId视频流 ID
视频数据接收槽
profileType视频能力
返回
  • OK: 调用成功
  • others: 调用失败

◆ startVideo() [3/3]

virtual QResult VideoStreamManager::startVideo ( int  streamId,
void *  window,
const VideoConfig config 
)
pure virtual

开启视频流,并且设置渲染窗口

参数
streamId视频流 ID
window平台相关的窗口句柄, 在windows平台, 该参数必须是HWND
config视频配置参数
返回
  • OK: 调用成功
  • others: 调用失败
注解
在 macOS iOS and Android 平台下必须从主线程调用。

◆ stopVideo()

virtual QResult VideoStreamManager::stopVideo ( int  streamId)
pure virtual

关闭视频流

参数
streamId视频流 ID
返回
  • OK: 调用成功
  • others: 调用失败

◆ subscribeVideo() [1/2]

virtual QResult VideoStreamManager::subscribeVideo ( uint64_t  userId,
int  streamId,
RtcRenderSink sink,
VideoProfileType  profileType 
)
pure virtual

订阅用户的视频流, 并设置视频数据接收槽。

参数
userId客户定义的用户标识。
streamId视频流 ID。
sink。视频数据接收槽。
profileType视频能力。
返回
  • OK: 成功
  • 其他: 失败
注解
订阅用户的视频流前,请确保用户已开启视频流。

◆ subscribeVideo() [2/2]

virtual QResult VideoStreamManager::subscribeVideo ( uint64_t  userId,
int  streamId,
void *  window,
const VideoConfig config 
)
pure virtual

订阅用户的视频流, 并设置渲染窗口。

参数
userId客户定义的用户标识。
streamId视频流 ID。
window平台相关的窗口对象, 在windows平台, 该参数必须是HWND对象。
config视频参数。
返回
  • OK: 成功
  • 其他: 失败
注解
订阅用户的视频流前,请确保用户已开启视频流。 在 macOS iOS and Android 平台下必须从主线程调用。

◆ unmuteVideo()

virtual QResult VideoStreamManager::unmuteVideo ( int  streamId)
pure virtual

恢复视频。

参数
streamId视频流 ID
返回
  • OK: 成功
  • 其他: 失败
注解
恢复视频流前请先开启视频流,否则操作将无效。

◆ unsubscribeVideo()

virtual QResult VideoStreamManager::unsubscribeVideo ( uint64_t  userId,
int  streamId 
)
pure virtual

取消订阅用户的视频。

参数
userId客户定义的用户标识。
streamId视频流 ID。
返回
  • OK: 成功
  • 其他: 失败
注解
当用户停止视频流或者离开频道的时候,用户的视频流将会被自动取消订阅。

该类的文档由以下文件生成: