3

【教程】5分钟快速集成UCloud实时音视频服务URTC-Linux Ubuntu端

 3 years ago
source link: https://zhuanlan.zhihu.com/p/337379036
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【教程】5分钟快速集成UCloud实时音视频服务URTC-Linux Ubuntu端

通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。

集成URTC SDK之前,需要在UCLOUD官网控制台创建URTC应用。

1. 登录UCLOUD控制台

在UCLOUD官网,【登录控制台】

使用URTC服务之前,首先需要注册账号 并且完成 实名认证

2.创建URTC应用

每个账号最大支持创建5个URTC应用,需要创建更多URTC应用,请联系客户经理增加配额。

可以通过2种方法:控制台、API创建URTC应用。

2.1 控制台创建URTC应用

  • 在控制台,【全部产品】-【视频服务】-【实时音视频】,找到【我的应用】
  • 点击创建应用,输入应用名称,确定后保存。
  • 确定后,自动生成AppID、AppKey。
  • 绑定AppID及AppKey到您的应用中即可开始使用。

2.2 API创建URTC应用

通过 创建URTC 应用的API,也可以创建URTC应用。具体调用API的方法,请查看API文档

3. 下载资源

4. 开发语言以及系统要求

  • 开发语言:C++
  • 系统要求:Linux Ubuntu 16.04、18.04

5. 编译工具

  • cmake make gcc g++

URTC 以动态链接库的方式提供SDK,包括头文件和动态链接库文件:
urtclib/interface/UCloudRtcComDefine.h urtclib/interface/UCloudRtcEngine.h urtclib/interface/UCloudRtcErrorCode.h urtclib/interface/UCloudRtcMediaDevice.h urtclib/lib/libliburtcmediaengine.so urtclib/lib/liburtcnetengine.so

6. RTSP源的约束

视频源为RTSP格式时,只支持H.264 baseline,RTSP 关键帧(GOP)设置推荐在3秒以内,码率设置需要小于3000kbps。

7. 编译demo

7.1 在目标机器上编译

如果在目标机器上编译使用下面的命令:

cd build
//生成Makefile等
cmake ../.
//编译成功后,在../bin中生成可执行文件
make
//执行
cd ..
bin/enginedemo rtsp://path/to/rtspstream

7.2 交叉编译

如果使用交叉编译,需要修改CMakeList.txt,这样交叉编译速度会有所提高。

//打开文件CMakeList.txt中下面的注释
SET(CROSS_COMPILE 1)

IF(CROSS_COMPILE)
SET(TOOLCHAIN_DIR "/path/to/compile-toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu")
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-g++)
set(CMAKE_C_COMPILER   ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc)

SET(CMAKE_FIND_ROOT_PATH  ${TOOLCHAIN_DIR}
 ${TOOLCHAIN_DIR}/include
 ${TOOLCHAIN_DIR}/lib )
ENDIF(CROSS_COMPILE)

7.3 运行demo

编译完毕后,加入房间并推RTSP视频流。

./enginedemo roomid userid rtsp://xxx

// roomid:自定义的房间号,同一个房间的用户可以通讯。    
// userid:自定义的用户号,每个客户端id需要唯一。    
// rtsp://xxx:通过RTSP拉流设备的网络地址。

推流成功,用户可以处理回调函数URTCEventHandler.cpp中的onLocalPublish处理,如果code==0,则推流成功。
推流成功后,即可直播观看RTSP视频。

本文来自UCloud用户社区,原文链接:5分钟快速集成UCloud实时音视频服务URTC-Linux Ubuntu端-UCloud优刻得中立云计算用户问答社区


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK