Public 成员函数 | |
RecordingConfig () | |
virtual | ~RecordingConfig () |
Public 属性 | |
bool | isAudioOnly |
bool | isVideoOnly |
bool | isMixingEnabled |
bool | autoSubscribe |
bool | enableCloudProxy |
agora::linuxsdk::MIXED_AV_CODEC_TYPE | mixedVideoAudio |
const char * | mixResolution |
const char * | decryptionMode |
const char * | secret |
const char * | appliteDir |
const char * | recordFileRootDir |
const char * | cfgFilePath |
agora::linuxsdk::VIDEO_FORMAT_TYPE | decodeVideo |
agora::linuxsdk::AUDIO_FORMAT_TYPE | decodeAudio |
int | lowUdpPort |
int | highUdpPort |
int | idleLimitSec |
int | captureInterval |
int | audioIndicationInterval |
agora::linuxsdk::CHANNEL_PROFILE_TYPE | channelProfile |
agora::linuxsdk::REMOTE_VIDEO_STREAM_TYPE | streamType |
agora::linuxsdk::TRIGGER_MODE_TYPE | triggerMode |
agora::linuxsdk::LANGUAGE_TYPE | lang |
int | proxyType |
const char * | proxyServer |
agora::linuxsdk::AUDIO_PROFILE_TYPE | audioProfile |
const char * | defaultVideoBg |
const char * | defaultUserBg |
const char * | subscribeVideoUids |
const char * | subscribeAudioUids |
bool | enableIntraRequest |
bool | enableH265Support |
录制的详细设置。
|
inline |
|
inlinevirtual |
bool agora::recording::RecordingConfig::isAudioOnly |
是否仅启用音频录制。
与 isVideoOnly 结合使用:
bool agora::recording::RecordingConfig::isVideoOnly |
是否仅启用视频录制。
与 isAudioOnly 结合使用:
bool agora::recording::RecordingConfig::isMixingEnabled |
是否启用合流模式。
bool agora::recording::RecordingConfig::autoSubscribe |
设置录制全部用户还是指定 UID 用户:
autoSubscribe
设为 false 后,必须设置 subscribeVideoUids 或 subscribeAudioUids 参数选择音频流或视频流进行录制,否则就不会录制。 bool agora::recording::RecordingConfig::enableCloudProxy |
agora::linuxsdk::MIXED_AV_CODEC_TYPE agora::recording::RecordingConfig::mixedVideoAudio |
合流模式下将一个音频录制文件和一个视频录制文件实时混合成一个既有音频也有视频的 MP4 文件。
该参数有六种设置,详见 MIXED_AV_CODEC_TYPE。
mixedVideoAudio
为 AV_CODEC_MIXED_TS_ONLY(6)
或 AV_CODEC_MIXED_TS_AND_MP4(7)
,以保证录制进程崩溃后录制文件的可用性。如果设置为 AV_CODEC_MIXED_TS_AND_MP4(7),录制会有一定程度的性能回退。 const char* agora::recording::RecordingConfig::mixResolution |
合流模式下设置录制文件的视频属性,格式为:width,hight,fps,kbps,分别对应录制文件的宽、高、帧率和码率。默认设置为 360 x 640, 15 fps, 500 Kbps。
请参考视频属性对照表设置分辨率、帧率、码率。
const char* agora::recording::RecordingConfig::decryptionMode |
当整个频道进行加密时,录制 SDK 启用内置的解密功能。默认为 NULL。
目前支持以下几种解密方式:
const char* agora::recording::RecordingConfig::secret |
启用解密模式后,设置的解密密码。默认为 NULL。
const char* agora::recording::RecordingConfig::appliteDir |
必填,设置为 AgoraCoreServices 存放的目录。
SDK 包内 AgoraCoreServices 的默认路径为:Agora_Recording_SDK_for_Linux_FULL/bin/
const char* agora::recording::RecordingConfig::recordFileRootDir |
设置录制文件存放的根目录。默认为 NULL。
设置该参数后,录制 SDK 会按照录制日期自动生成子目录保存录制文件。
const char* agora::recording::RecordingConfig::cfgFilePath |
指定 JSON 配置文件的路径。默认为 NULL。示例:--cfgFilePath /home/guest/recording_dir/cfg.json
。
在该配置文件里,你可以设置以下参数:
Recording_Dir
: 字符串类型,指定存放录制文件的绝对路径。指定路径后,SDK 不会自动生成子目录。
示例:{"Recording_Dir": "/home/guest/recording_dir/"}
,表示录制文件存放的绝对路径为 /home/guest/recording_dir/
。
Chunk_Time_Span
: 字符串类型,设置直播场景中单流录制模式下录制文件切片的间隔时间,单位为秒,最小值为 10。
示例:{"Chunk_Time_Span": "15"}
,表示每隔 15 秒生成一个录制文件。
Secondary_Recorder
: 字符串类型,表示录制两种格式的音频文件,Secondary_Recorder
为增加的音频文件格式。
示例:{"Secondary_Recorder":"mp3"}
,表示生成 AAC 和 MP3 两种格式的音频文件。
Audio_Only_Record
: 字符串类型,表示仅录制一种格式的音频文件,Audio_Only_Record
为仅录制的音频文件格式。
示例:{"Audio_Only_Record":"mp3"}
,表示只生成 MP3 格式的音频文件。
Audio_Sample_Rate
: Number 类型,设置录制的音频的采样率。
示例:{"Audio_Sample_Rate":16000}
,表示录制音频的采样率是 16000Hz。
Pcm_Sample_Rate
: Number 类型,设置录制 PCM 帧格式的原始音频数据(getAudioFrame
为 2
或 3
)的采样率。
示例:{"Pcm_Sample_Rate":16000}
,表示录制 PCM 帧格式的原始音频数据的采样率是 16000Hz。
Chunk_Time_Span
参数仅适用于直播场景下的单流录制模式。Chunk_Time_Span
参数,必须将 enableIntraRequest
设为 true
,请求发流端发送关键帧。发流端是否发送关键帧,由发流端使用的 RTC SDK 版本决定。Audio_Sample_Rate
可以设置为 16000Hz,32000Hz,44100Hz,48000Hz。如果设置的采样率不在上述范围内,则默认采样率为 16000Hz。Pcm_Sample_Rate
可以设置为 8000Hz, 16000Hz, 32000Hz。如果设置的采样率不在上述范围内,则配置不生效。 agora::linuxsdk::VIDEO_FORMAT_TYPE agora::recording::RecordingConfig::decodeVideo |
设置录制视频格式。详见 VIDEO_FORMAT_TYPE。
agora::linuxsdk::AUDIO_FORMAT_TYPE agora::recording::RecordingConfig::decodeAudio |
设置录制音频格式。详见 AUDIO_FORMAT_TYPE。
int agora::recording::RecordingConfig::lowUdpPort |
最低 UDP 端口。默认值为 0。最高 UDP 端口与最低 UDP 端口差值不能小于 6。
int agora::recording::RecordingConfig::highUdpPort |
最高 UDP 端口。默认值为 0。最高 UDP 端口与最低 UDP 端口差值不能小于 6。
int agora::recording::RecordingConfig::idleLimitSec |
设置空闲频道的超时退出时间。默认值为 300 秒。
该值需大于等于 3 秒。录制时,如果频道空闲(无用户)超过设定的时间,录制端自动退出频道,停止录制。
idleLimitSec
,录制程序会自动退出。 int agora::recording::RecordingConfig::captureInterval |
设置视频截图的时间间隔。默认值为 5 秒。该值需大于等于 1 秒。
int agora::recording::RecordingConfig::audioIndicationInterval |
说话者监测的时间间隔。
agora::linuxsdk::CHANNEL_PROFILE_TYPE agora::recording::RecordingConfig::channelProfile |
频道模式。录制 SDK 针对不同的频道模式进行了不同的优化。目前支持的场景详见 CHANNEL_PROFILE_TYPE。
agora::linuxsdk::REMOTE_VIDEO_STREAM_TYPE agora::recording::RecordingConfig::streamType |
设置大小流。仅在 Agora Native SDK 或 Web SDK 开启双流模式时有效。详见 REMOTE_VIDEO_STREAM_TYPE。
agora::linuxsdk::TRIGGER_MODE_TYPE agora::recording::RecordingConfig::triggerMode |
选择录制启动模式。详见 TRIGGER_MODE_TYPE。
agora::linuxsdk::LANGUAGE_TYPE agora::recording::RecordingConfig::lang |
编程语言,详见 LANGUAGE_TYPE。
int agora::recording::RecordingConfig::proxyType |
设置代理服务器类型。
设置 proxyType
参数后,需在 proxyServer
参数中进行相应设置。详见使用云代理服务。
const char* agora::recording::RecordingConfig::proxyServer |
根据 proxyType
参数中选择的代理服务器类型设置代理服务器的 IP 地址(域名)和端口,从而实现在内网进行录制:
proxyType
为 0,proxyServer
设为 "<ip>:<port>"
。proxyType
为 1,proxyServer
设为 "<domain>:<port>"
。proxyType
为 2,proxyServer
设为 "<ip1>,<ip2>,...,<ipx>:<port>"
。详见使用云代理服务。
agora::linuxsdk::AUDIO_PROFILE_TYPE agora::recording::RecordingConfig::audioProfile |
设置合流模式下录制文件的音频属性。详见 AUDIO_PROFILE_TYPE。
const char* agora::recording::RecordingConfig::defaultVideoBg |
设置合流模式下画布的默认背景图片的路径。如不设置会显示背景色。
const char* agora::recording::RecordingConfig::defaultUserBg |
设置合流模式下用户的默认背景图片的路径。如不设置会显示背景色。
合流模式下,如果某用户没有视频流,就会显示该图片。
const char* agora::recording::RecordingConfig::subscribeVideoUids |
录制指定 UID 的视频流。UID 组成的数组,为用逗号隔开的字符串,例如 "1","2","3"。
当 autoSubscribe 设为 false 时,你可设置此参数来指定 UID 进行录制。 该参数设为 null 则表示录制所有发流用户的视频。
const char* agora::recording::RecordingConfig::subscribeAudioUids |
录制指定 UID 的音频流。UID 组成的数组,为用逗号隔开的字符串,例如 "1","2","3"。
当 autoSubscribe 设为 false 时,你可设置此参数来指定 UID 进行录制。 该参数设为 null 则表示录制所有发流用户的音频。
bool agora::recording::RecordingConfig::enableIntraRequest |
是否启用关键帧请求。该参数默认为 true,可改善弱网下的音视频体验。如需使单流模式下录制的视频可指定播放位置,须将 enableIntraRequest
设为 false。
bool agora::recording::RecordingConfig::enableH265Support |
设置是否支持录制 H.265 视频流: