直推 CDN
setDirectCdnStreamingAudioConfiguration
设置主播端直接向 CDN 推流时的音频编码属性。
public abstract int setDirectCdnStreamingAudioConfiguration(int profile);
详情
该方法仅对麦克风采集或自采集的音频有效,即对在 DirectCdnStreamingMediaOptions 中设置 publishMicrophoneTrack 或 publishCustomAudioTrack 为 true
时所采集的音频有效。
参数
- profile
- 音频编码属性,包含采样率、码率、编码模式和声道数。
DEFAULT
(0):默认值。- 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
- 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
SPEECH_STANDARD
(1):指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。MUSIC_STANDARD
(2):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。MUSIC_STANDARD_STEREO
(3):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。MUSIC_HIGH_QUALITY
(4):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。MUSIC_HIGH_QUALITY_STEREO
(5):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
setDirectCdnStreamingVideoConfiguration
设置主播端直接向 CDN 推流时的视频编码属性。
public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config);
详情
该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 DirectCdnStreamingMediaOptions 中设置 publishCameraTrack 或 publishCustomVideoTrack 为 true
时所采集的视频有效。
如果你设置的视频分辨率超出你的摄像头设备支持的范围,SDK 会根据你的设置进行自适应,取最接近、且长宽比与你设置的分辨率一致的值进行采集、编码、推流。你可以通过 onDirectCdnStreamingStats 回调了解推送的视频流的实际分辨率。
参数
- config
- 视频编码参数配置。详见 VideoEncoderConfiguration。信息在直接向 CDN 推流时,SDK 目前仅支持将 ORIENTATION_MODE 设为横屏模式(ORIENTATION_FIXED_LANDSCAPE)或竖屏模式(ORIENTATION_FIXED_PORTRAIT)。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
startDirectCdnStreaming
设置主播端开始直接向 CDN 推流。
public abstract int startDirectCdnStreaming(IDirectCdnStreamingEventHandler eventHandler,
String publishUrl, DirectCdnStreamingMediaOptions options);
详情
SDK 不支持同一时间向同一个 URL 重复推流。
媒体选项说明
SDK 不支持 publishCameraTrack 和 publishCustomVideoTrack 同时为 true
,也不支持 publishMicrophoneTrack 和 publishCustomAudioTrack 同时为 true
。你可以根据场景需求设置媒体选项 (DirectCdnStreamingMediaOptions)。示例如下:
如果你想推送主播端自定义采集的音视频流,请将媒体选项进行如下设置:
- publishCustomAudioTrack 设为
true
并调用 pushExternalAudioFrame - publishCustomVideoTrack 设为
true
并调用 pushExternalVideoFrameById [1/2] - 确保 publishCameraTrack 为
false
(默认值) - 确保 publishMicrophoneTrack 为
false
(默认值)
true
,并调用 pushExternalAudioFrame 即可推送纯音频流。 参数
- eventHandler
- publishUrl
- CDN 推流 URL。
- options
- 主播端的媒体选项。详见 DirectCdnStreamingMediaOptions。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
stopDirectCdnStreaming
onDirectCdnStreamingStateChanged
CDN 推流状态改变回调。
void onDirectCdnStreamingStateChanged(
DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message);
详情
主播端直接向 CDN 推流后,当推流状态改变时,SDK 会触发该回调向你报告新的状态、错误码和信息。你可以据此排查问题。
参数
- state
- 当前推流状态。详见 DirectCdnStreamingState。
- reason
- 推流状态改变的原因。详见 DirectCdnStreamingReason。
- message
- 状态改变对应的信息。
onDirectCdnStreamingStats
CDN 推流统计数据回调。
void onDirectCdnStreamingStats(DirectCdnStreamingStats stats);
详情
在主播直接向 CDN 推流的过程中,SDK 每隔 1 秒触发一次该回调。
参数
- stats
- 当前推流的统计数据。详见 DirectCdnStreamingStats。