多媒体服务接口
1. 第一视角图像
简介:采用OWT拉流形式获取图像内容,参考以下步骤和接口实现。
1.1. 设置回调函数
SetCallbacks
简介
cpp
/**
* @brief 设置回调函数。
*
* 该函数用于设置回调函数。
*
* @param onConnectServerSuccess 连接服务器成功时触发。
* @param onConnectServerFailure 连接服务器失败时触发。
* @param onPublishSuccess 推流成功时触发。
* @param onPublishFailure 推流失败时触发。
* @param onDisconnectServerSuccess 断开服务器成功时触发。
* @param onDisconnectServerFailure 断开服务器失败时触发。
* @param onRenderRemote 渲染远程视频时触发。
* @param onRenderLocal 渲染本地视频时触发。
*/
void SetCallbacks(OnConnectServerSuccess onConnectServerSuccess,
OnConnectServerFailure onConnectServerFailure,
OnPublishSuccess onPublishSuccess,
OnPublishFailure onPublishFailure,
OnDisconnectServerSuccess onDisconnectServerSuccess,
OnDisconnectServerFailure onDisconnectServerFailure,
OnRenderCallback onRenderRemote,
OnRenderCallback onRenderLocal);
使用示例
cpp
RTCP2PClient* p2p_client = new RTCP2PClient();
p2p_client->SetCallbacks(
&OWTCallbacks::on_connect_success,
&OWTCallbacks::on_connect_failure,
&OWTCallbacks::on_publish_success,
&OWTCallbacks::on_publish_failure,
&OWTCallbacks::on_disconnect_success,
&OWTCallbacks::on_disconnect_failure,
&OWTCallbacks::on_render_remote,
&OWTCallbacks::on_render_locate
);
1.2. 拉流端初始化
Init
简介
cpp
/**
* @brief 初始化owt客户端。
*
* 该函数用于初始化owt客户端。
*
* @param videoCodec 视频传输格式,当前支持"VP8","VP9"。
* @param maxBitrateKbps 最大比特率,在网络状况良好的情况下传输的最大比特率。
*/
void Init(std::string videoCodec, int maxBitrateKbps);
使用案例
cpp
p2p_client->Init("VP9", 3000);
1.3. 设置ICE Server
AddIceServer
简介
cpp
/**
* @brief 设置ICE Server服务器。
*
* 该函数用于设置ICE Server,ICE Server用于NAT穿越。
*
* @param url ICE Server url。
* @param username ICE Server用于鉴权的用户名。
* @param password ICE Server用于鉴权的pwd。
*/
void AddIceServer(std::string url, std::string username, std::string password);
使用案例
cpp
p2p_client->AddIceServer("stun:stun.l.google.com:19302", "your_username", "your_password");
p2p_client->AddIceServer("turn:turn.example.com:3478", "your_username", "your_password");
1.4. 设置推流端用户ID
cpp
/**
* @brief 设置remoteId。
*
* 该函数用于设置remoteId。
*
* @param remoteId remoteId。
*/
void SetRemoteId(std::string remoteId);
使用案例
cpp
p2p_client->SetRemoteId(remoteId);
1.5. C++ 接口
Connect简介
cpp
/**
* @brief 连接信令服务器指令。
*
* 该函数用于连接信令服务器。
*
* @param url 信令服务器 url。
* @param userId 当前用户的userId,作为本客户端的唯一标识符。
*/
void Connect(std::string url, std::string userId);
使用案例
cpp
p2p_client->Connect(owt_url, userId);