CDN 直推
本文主要介绍单主播直推 CDN 的使用场景。
在单人直播时,SDK 将主播的音视频直接推流到 CDN 分发,观众端不需要加入 RTC 房间,只需要通过播放器进行拉流播放。
- QNCDNStreamingConfig 中的 videoTrack 和 audioTrack 参数,确保在整个推流开始和结束的过程中是有效的
使用方式如下:
创建 QNCDNStreamingClient
QNCDNStreamingClient 为 RTMP 推流的统一管理类,通过 QNRTC.createCDNStreamingClient 接口来创建 QNCDNStreamingClient 对象
QNCDNStreamingClient streamingClient = QNRTC.createCDNStreamingClient();
设置状态回调和统计信息回调
在进行 CDN 直推之前,需要设置 CDN 直推流的状态监听:
streamingClient.setCDNStreamingListener(new QNCDNStreamingListener() {
@Override
public void onCDNStreamingConnectionStateChanged(QNConnectionState state, int errorCode, String message) {
// 直播流状态改变时触发此回调
}
@Override
public void onCDNStreamingStats(QNCDNStreamingStats stats) {
// 定期回调直播流统计信息
}
});
开始推流
开始推流之前,需要配置推流参数 QNCDNStreamingConfig。 通过调用 QNCDNStreamingClient.start 开始推流。使用代码参考如下:
// 配置推流参数
QNCDNStreamingConfig config = new QNCDNStreamingConfig()
.setVideoTrack(cameraVideoTrack)
.setAudioTrack(microphoneAudioTrack)
.setPublishUrl("rtmp://xxx/hub/publishUrl");
// 开始推流
streamingClient.start(config);
停止推流
调用 QNCDNStreamingClient.stop 停止推流。使用代码参考如下:
// 停止推流
streamingClient.stop();
示例代码
RTMP 直推 CDN 的示例代码可参考 QNRTC-API-Examples
文档反馈
(如有产品使用问题,请 提交工单)