直推 CDN
setDirectCdnStreamingAudioConfiguration
设置主播直推 CDN 音频流的音频配置。
C++
virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0;
废弃
当你在 DirectCdnStreamingMediaOptions 中将 publishMicrophoneTrack 或 publishCustomAudioTrack 设置为 true 时,可以调用该方法设置音频配置。
参数
- profile
- 音频配置,包括采样率、码率、编码模式和声道数。详见 AUDIO_PROFILE_TYPE。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setDirectCdnStreamingVideoConfiguration
设置主播直接 CDN 推流的视频属性。
C++
virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0;
废弃
该方法仅影响通过摄像头、屏幕或自定义视频采集源采集的视频流。当你在 DirectCdnStreamingMediaOptions 中将 publishCameraTrack 或 publishCustomVideoTrack 设置为 true 时,可以调用该方法设置视频属性。 如果本地摄像头不支持你设置的视频分辨率,SDK 会自动将分辨率调整为最接近的值进行采集、编码或推流,并保持你设置的宽高比。你可以通过 onDirectCdnStreamingStats 回调获取实际的视频分辨率。
信息
在 CDN 直播过程中,声网仅支持将 ORIENTATION_MODE 设置为
ORIENTATION_MODE_FIXED_LANDSCAPE 或 ORIENTATION_MODE_FIXED_PORTRAIT。参数
- config
- 视频属性。详见 VideoEncoderConfiguration。信息在 CDN 直播过程中,声网仅支持将 ORIENTATION_MODE 设置为
ORIENTATION_MODE_FIXED_LANDSCAPE或ORIENTATION_MODE_FIXED_PORTRAIT。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
startDirectCdnStreaming
开始将媒体流直接推送到 CDN。
C++
virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0;
废弃
声网不支持将媒体流重复推送到同一个 URL。 声网不支持同时将
publishCameraTrack 和 publishCustomVideoTrack 设置为 true,或将 publishMicrophoneTrack 和 publishCustomAudioTrack 设置为 true。 在选择媒体设置选项(DirectCdnStreamingMediaOptions)时,可参考以下示例: 如果你希望从自定义源推送主播采集的音视频流,媒体设置应如下: - 将
publishCustomAudioTrack设置为 true,并调用 pushAudioFrame 方法; - 将
publishCustomVideoTrack设置为 true,并调用 pushVideoFrame 方法; - 将
publishCameraTrack设置为 false(默认); - 将
publishMicrophoneTrack设置为 false(默认)。
publishCustomAudioTrack 或 publishMicrophoneTrack 设置为 true,并调用 pushAudioFrame 推送音频流。信息
声网仅支持将一路音视频流或一路音频流推送到 CDN。
参数
- eventHandler
- 事件回调接口,详见 IDirectCdnStreamingEventHandler。
- publishUrl
- CDN 推流地址。
- options
- 主播的媒体设置选项,详见 DirectCdnStreamingMediaOptions。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
stopDirectCdnStreaming
onDirectCdnStreamingStateChanged
CDN 推流状态变化回调。
C++
virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message)
当主播直接向 CDN 推流时,若推流状态发生变化,SDK 会触发该回调,报告变化后的推流状态、错误码及相关信息。
参数
- state
- 当前的 CDN 推流状态。详见 DIRECT_CDN_STREAMING_STATE。
- reason
- CDN 推流状态变化的原因。详见 DIRECT_CDN_STREAMING_REASON。
- message
- 关于推流状态变化的补充信息。
onDirectCdnStreamingStats
上报 CDN 推流统计信息的回调。
C++
virtual void onDirectCdnStreamingStats(const DirectCdnStreamingStats& stats)
触发时机
当主播直接向 CDN 推送媒体流时,SDK 每秒触发一次该回调。
参数
- stats
- 当前 CDN 推流的统计信息。详见 DirectCdnStreamingStats。