快速开始 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-dev
shell
操作步骤
1. 构建 Demo 工程

在终端窗口下,进入 QuickStart_Terminal_Demo 目录,执行 cmake -B build 命令。命令成功执行后,将在 build 目录下生成工程。

2. 编译 Demo 工程

执行 cmake --build build 命令,进行编译。

3. 修改 Demo 配置

进入 build 目录,修改 config.json 文件。

必填的配置参数有:

  1. app_id:在控制台上获取的应用 token。
  2. token:在控制台上获取的 临时 Token。
  3. room_id:房间 ID。此后运行应用加入房间时,填写的房间 ID 应和此处的值完全一致。
  4. 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。

video_encoder_config

设置视频编码相关参数,包括分辨率、帧率、码率,对应 setVideoEncoderConfig。 码率默认推荐如下,取值范围是 [1000, 10000]。

  • 1920*1080@60fps,推荐 6000kbps
  • 1920*1080@30fps,推荐 4000kbps
  • 1920*1080@15fps,推荐 2500kbps
  • 1280*720@60fps,推荐 4000kbps
  • 1280*720@30fps,推荐 3000kbps(默认码率)
  • 1280*720@15fps,推荐 2000kbps
  • 640*480@30fps, 推荐 1500kbps
  • 640*480@15fps, 推荐 1000kbps
audio_device_id设置音频内部采集时使用的音频设备 ID,对应setAudioCaptureDevice。程序每次启动时会调用 enumerateAudioCaptureDevices 枚举所有音频设备 ID 以及名称并打印并输出到终端,可以从终端日志拷贝对应设备 ID,写入此字段,再次重启后生效。
video_device_id设置视频内部采集时使用的视频设备 ID,对应 setVideoCaptureDevice。程序每次启动时会调用 enumerateVideoCaptureDevices 枚举所有视频设备 ID 以及名称并打印并输出到终端,可以从终端日志拷贝对应设备 ID,写入此字段,再次重启后生效。
4. 运行 Demo

运行命令行: ./rtccli。