快速开始 Demo 是 RTC 提供的包含基本功能的开源示例工程文件。获取该工程文件后,你可以快速构建应用,感受 RTC 的通话效果;也能通过阅读代码,了解基本音视频通话的最佳实践。
使用该工程文件构建应用后,你可以使用该应用实现基本音视频通话功能。
你和你的同事必须使用同一 AppId 且加入同一个房间,才能成功进行音视频通话。 本文以 Ubuntu 系统为例进行说明。
此 Demo 中包含的 RTC SDK for Linux 版本号是 3.50。
注:
如果未安装 OpenGL 和 PulseAudio,参考以下方式安装:sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev sudo apt install pulseaudio libpulse-dev libva-devshell
在终端窗口下,进入 QuickStart_Terminal_Demo 目录,执行 cmake -B build 命令。命令成功执行后,将在 build 目录下生成工程。
执行 cmake --build build 命令,进行编译。
进入 build 目录,修改 config.json 文件。
必填的配置参数有:
app_id:在控制台上获取的应用 token。token:在控制台上获取的 临时 Token。room_id:房间 ID。此后运行应用加入房间时,填写的房间 ID 应和此处的值完全一致。user_id:用户 ID。此后运行应用加入房间时,填写的用户 ID 应和此处的值完全一致。你也可以修改其他参数,其他参数的意义如下:
| 字段名称 | 功能含义 |
|---|---|
enable_audio | 打开或者关闭音频采集模块 |
enable_video | 打开或者关闭视频采集模块 |
enable_external_audio | 是否开启外部音频采集。 默认为 false 表示开启内部音频采集,这个也是 SDK 默认行为;true 表示开启外部音频采集,对应调用 setAudioSourceType,并设置主流 type=kAudioSourceTypeExternal。该字段只在打开音频采集模块功能即 enable_audio=true 时生效。 |
enable_external_video | 是否开启外部视频采集。 默认为 false 表示开启内部视频采集,这个也是 SDK 默认行为;true 表示开启外部视频采集,对应调用 setVideoSourceType,并设置主流 type=kVideoSourceTypeExternal。该字段只在打开视频采集模块功能即 enable_video=true 时生效。 |
audio_file | 用于指定外部音频采集时使用到的 pcm 原始音频文件。当开启外部音频采集功能后,会读取文件 PCM 数据,然后每隔 10ms 一次循环调用 pushExternalAudioFrame 将 pcm 数据编码后推送给远端用户。 |
video_file | 用于指定外部视频采集时使用到的 yuv 原始视频文件。当开启外部视频采集功能后,会读取文件 yuv 文件数据,然后每隔 1000/fps 毫秒循环调用 pushExternalVideoFrame 将原始视频数据编码后推送给远端用户。 |
video_capture_config | 设置视频采集相关参数,包括分辨率、帧率 。该字段只在视频内部采集开启情形下才会生效,对应 setVideoCaptureConfig。 |
| 设置视频编码相关参数,包括分辨率、帧率、码率,对应 setVideoEncoderConfig。 码率默认推荐如下,取值范围是
|
audio_device_id | 设置音频内部采集时使用的音频设备 ID,对应setAudioCaptureDevice。程序每次启动时会调用 enumerateAudioCaptureDevices 枚举所有音频设备 ID 以及名称并打印并输出到终端,可以从终端日志拷贝对应设备 ID,写入此字段,再次重启后生效。 |
video_device_id | 设置视频内部采集时使用的视频设备 ID,对应 setVideoCaptureDevice。程序每次启动时会调用 enumerateVideoCaptureDevices 枚举所有视频设备 ID 以及名称并打印并输出到终端,可以从终端日志拷贝对应设备 ID,写入此字段,再次重启后生效。 |
运行命令行: ./rtccli。