集成Linux SDK
更新时间:2023-05-30
开发环境
请确保开发环境满足以下技术要求:
- GCC 5.4.0 或以上版本
- x86_64处理器
- centos7、Ubuntu 16.04或以上版本
- 开发环境需联网
SDK下载
请前往RTC文档中心“下载专区>SDK&Demo下载”进行下载。
SDK目录说明
- sdkdemo/include目录 ------ 放置api头文件
- bin目录 ------ 放置libbaidurtc.so 及其依赖库 和ssl证书文件a.cer
- sdkdemo目录 ------ 放置demo代码的目录
SDK集成
- 将demo/include目录加入到Makefile头文件搜索路径。
- 采用dlopen加载libbaidurtc.so 库, 具体参考demo源代码。
- 将bin中的so库文件都复制到执行目录下。
完成以上步骤后,即可开始调用Linux RTC的API。
API调用流程
- 调用流程图
API codes使用样例
......
int main_push(int argc, char* argv[])
{
void* handle = dlopen("libbaidurtc.so", RTLD_LAZY);
if (handle == NULL) {
fprintf(stderr, "Could not open sdk: %s\n", dlerror());
return 1;
}
f_createBaiduRtcRoomClient* createClient = (f_createBaiduRtcRoomClient *)dlsym(handle, "_ZN8baidurtc24createBaiduRtcRoomClientEv");
if (createClient == NULL) {
fprintf(stderr, "Could not find sdk_func: %s\n", dlerror());
return 1;
}
f_getVersion *version = (f_getVersion*)dlsym(handle, "getBaiduRtcSdkVersion");
printf("BRTC.Linux.SDK Version is: %s\n",version());
printf("Calling API\n");
RtcParameterSettings s;
g_BrtcClient = createClient();
setListener(g_BrtcClient, g_myListener);
s.HasData = false;
s.HasVideo = true;
s.HasAudio = true;
s.AudioINChannel = 1;
s.AudioINFrequency = 16000;
s.ImageINType = RTC_IMAGE_TYPE_JPEG;
s.AsPublisher = true;
s.AsListener = false;
s.AutoPublish = true;
g_BrtcClient->setParamSettings(&s,s.RTC_PARAM_SETTINGS_ALL);
g_BrtcClient->setAppID("GET-FROM-BAIDU");
g_BrtcClient->setMediaServerURL("wss://rtc.exp.bcelive.com:8989/janus");
g_BrtcClient->setCER("../bin/a.cer");
std::string uid = std::to_string(1234500000+random()/100000);
g_BrtcClient->loginRoom("2131",uid.c_str(),"BRTC Linux SDK push demo","token");
......
Demo Codes下载
请前往RTC下载中心进行下载。
打包应用程序-依赖的文件列表
- libbaidurtc.so
- libstdc++.so.6
- libturbojpeg.so.0
- libwebsockets.so.14
- libcrypto.so.1.0.0
- libssl.so.1.0.0
- a.cer