如何开启CDN旁路推流?

发布时间:2019年2月25日 更新时间:2019年2月25日 贡献者:yyuanchen

TRTC 的旁路直播功能,是将 TRTC 音视频房间里的音视频流(经过混流转码)转推到腾讯云直播 CDN 上,实现在线直播场景。另外,旁路直播还具备低成本和高并发的观看能力。

自动旁路开启方法如下:

  1. 在实时音视频的控制台开启自动旁路推流
  2. 如果房间里面只有主播一人,直接获取播放地址进行播放。
  3. 如果房间里面有多个用户,需要先调用混流接口 trtcCloud.setMixTranscodingConfig() 接口将多路画面混合成一路,然后再获取播放地址进行播放。

手动旁路开启方法:

  1. 如果房间里面只有主播一人,调用 startPublishCDNStream() 旁路转推到直播 CDN, 然后直接获取播放地址进行播放。
  2. 如果房间里面有多个用户,需要先调用混流接口 trtcCloud.setMixTranscodingConfig() 接口将多路画面混合成一路,然后调用 startPublishCDNStream() 旁路转推到直播 CDN,最后再获取播放地址进行播放。

详细细节见文档:CDN旁路推流


iOS端如何实现纯音频旁路直播?

发布时间:2019年3月7日 更新时间:2019年3月7日 贡献者:zilongye

实时音视频存在只有音频没有视频的语音场景,如果只是进房之前关闭了摄像头打开麦克风进行音频上行,这个时候纯音频是无法旁路成功的,因为控制台开启的自动旁路直播只支持音视频都有的场景。解决方案是,在进房前设置进房参数TRTCParams里面的bussInfo。代码示例:

// 设置纯音频旁路参数
self.param.bussInfo = @"{\"Str_uc_params\":{\"pure_audio_push_mod\":1}}";
// 进房
[_trtc enterRoom:self.param appScene:TRTCAppSceneVideoCall];

注意:传给SDK的json字符串参数注意大小写一致,参数名错误会导致进房失败。


iOS端如何使用转推接口startPublishCDNStream?

发布时间:2019年4月2日 更新时间:2019年4月2日 贡献者:zilongye

代码示例:

TRTCPublishCDNParam *param = [[TRTCPublishCDNParam alloc] init];
param.appId = 1251783422;   //开发者填写控制台对应的appid
param.bizId = 2131;         //开发者填写控制台对应的bizId
param.url = @"rtmp://2131.livepush.myqcloud.com/live/e44259e135?bizid=2131&txSecret=bce18252ec77b85291edc5129686e835&txTime=5CA386FF";
[_trtc startPublishCDNStream:param];

注意:调用startPublishCDNStream接口前提确保控制台自动旁路推流为开启状态,否则会直接失败。另外默认只能转推到腾讯云,如果推流url为其它三方云需要提工单开启白名单。


Android端纯音频通话如何进行旁路直播?

发布时间:2019年2月28日 更新时间:2019年2月28日 贡献者:yyuanchen

如果您的场景是语言通话,同时需要纯音频旁路直播。用户在进入房间之前,需要携带音频推流参数。具体设置如下:

1.构造音频推流参数

音频推流参数需要填充到 TRTCParams.businessInfo字段中,因为音频推流参数是一个 JSON 字符串,所以需要构造一个JSON数据。

Android:

JSONObject Str_uc_params = new JSONObject();
JSONObject pure_audio_push_mod = new JSONObject();

try {
    pure_audio_push_mod.put("pure_audio_push_mod", 1); 
    // 1: 允许纯音频推流,2: 允许纯音频推流+录制
    Str_uc_params.put("Str_uc_params", pure_audio_push_mod);
    Log.i(TAG, "纯音频推流参数: " + Str_uc_params.toString());
} catch (JSONException e) {
    e.printStackTrace();
}

iOS、Windows、Mac、Linux端也是适用,小程序端看文档进阶:小程序实时音视频参数透传

2.设置频推流参数

然后赋值给 TRTCParams.businessInfo

Android:

private TRTCCloudDef.TRTCParams trtcParams;     
// TRTC SDK 视频通话房间进入所必须的参数
Intent intent       = getIntent();
int sdkAppId        = intent.getIntExtra("sdkAppId", 0);
int roomId          = intent.getIntExtra("roomId", 0);
String selfUserId   = intent.getStringExtra("userId");
String userSig      = intent.getStringExtra("userSig");

trtcParams = new TRTCCloudDef.TRTCParams(sdkAppId, selfUserId, userSig, roomId, "", 
Str_uc_params.toString());
3. 进入房间
trtcCloud.startLocalAudio();
//进房
trtcCloud.enterRoom(trtcParams, TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL);

补充:纯音频推流参数完整说明:

{
  "Str_uc_params": {
    "uc_biz_type": 1000,   //可选字段,取值参考ENUM_CONFMASTER_BIZTYPE
    "uc_callee_number": "0086135xxxxxxxx",  //可选字段,用户手机号码,biztype=1001时必填(必须为11位手机或固话号码,号码前加0086,如008613631686024,固话如:0086075586013388)
    "record_id": 43567,   //可选字段,自动录制时业务自定义id,int32,录制回调时给到用户.注意:同一个房间中的成员,这个字段要么全带,要么不带.且值需要一致
    "pure_audio_push_mod": 1,  //可选字段,纯音频推流模式,取值参考ENUM_PURE_AUDIO_PUSH_MOD
    "recordfile_storage_time": 10000   //录制文件保存时长,单位秒
  }
}

如何在 TRTC Demo上体验混流以及旁路直播功能?

发布时间:2019年5月13日 更新时间:2019年5月13日 贡献者:yyuanchen

TRTC Demo 实现云端混流转码CDN旁路直播功能,如果开发者想体验,需要简单做下修改参数才能体验。

1.修改混流参数

TRTCMainActivity 类中,搜索并定位到TRTCTranscodingConfig;根据您账号信息,修改对应混流参数的 appIdbizId 字段。

TRTCCloudDef.TRTCTranscodingConfig config = new TRTCCloudDef.TRTCTranscodingConfig();
config.appId = -1;  // 请从"实时音视频"控制台的帐号信息中获取
config.bizId = -1;  // 请进入 "实时音视频"控制台 https://console.cloud.tencent.com/rav,点击对应的应用,然后进入“帐号信息”菜单中,复制“直播信息”模块中的"bizid"

2.修改CDN旁路直播播放地址

同样在 TRTCMainActivity 类中,搜索并定位到onClickButtonGetPlayUrl;将3891 修改成你账号的bizid。

String strStreamID = "3891_" + stringToMd5("" + trtcParams.roomId + "_" + trtcParams.userId + "_main");
String strPlayUrl = "http://3891.liveplay.myqcloud.com/live/" + strStreamID + ".flv";

3. 在 demo 上得到CDN旁路播放地址

说明

1.如果您播放地址无法播放,可以阅读下文档


results matching ""

    No results matching ""