ZEGO即构科技

ZEGO即构科技 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑

音视频云服务商

个人动态

ZEGO即构科技 发布了文章 · 1月16日

如何通过即构小程序组件实现直播带货功能?

之前,我们已经介绍了即构小程序直播组件的功能、适用类目以及组件的集成方法,可以戳下面查看:

即构小程序组件功能及适用类目

即构小程序组件的集成指引

小程序直播功能可应用的场景非常广泛,例如秀场直播、在线直播课、电商直播卖货等。针对不同的场景需求,即构小程序直播组件提供了个性化的功能,例如针对电商直播场景,提供了音视频直播、商家后台管理、IM互动、商品列表推送、美颜、后台管理等功能。

下面我们来看,基于即构直播小程序组件,如何从零实现目前大热的电商直播功能。

一、初始化SDK


集成 SDK 后,若想使用 SDK 的功能,还需要对 SDK 进行初始化操作。

// 声明变量
let { ZegoExpressEngine } = require("../lib/ZegoExpressMiniProgram-1.6.0");
let zg;
// 初始化实例
zg = new ZegoExpressEngine(this.data.appID, this.data.server);
// 配置必要参数
zg.setLogConfig({

  logLevel: 'debug',
  remoteLogLevel: 'debug',
  logURL: this.data.logUrl

})

如果要实现一个完整的直播功能,还需要处理 SDK 的相关回调。回调只要在 SDK 生命周期内设置一次即可。

二、登录房间


1、设置房间相关回调

登录房间之前需要设置房间相关回调,便于登录房间成功后接收房间相关的事件通知,比如处理因网络中断退出房间等问题。

以房间状态回调为例:

zg.on('roomStateUpdate', (roomID, updateType, err) => {

  console.log('>>>[liveroom-room] roomStateUpdate, updateType: ' + updateType + ', err: ' , err);

})

房间状态 updateType 分为 'DISCONNECTED','CONNECTING' 和 'CONNECTED'。

DISCONNECTED:表示未连接状态,在登录房间前和退出房间后进入该状态。如果登录房间的过程出现稳态异常,例如 AppID 和 AppSign 不正确,或者有相同用户名在其他地方登录导致本端被 KickOut,都会进入该状态。

CONNECTING:表示正在请求连接状态,登录房间成功后会进入此状态,通常通过该状态进行应用界面的展示。如果因为网络质量不佳产生的连接中断,SDK 会进行内部重试,也会回到正在请求连接状态。

CONNECTED:表示连接成功状态,进入该状态表示已经登录房间成功,用户可以正常收到房间内的用户和流信息增删的回调通知。

其余回调接口请根据业务实际情况进行选择处理,完整的房间回调接口请戳这里查看~~~

2、登录获取Token

在开发阶段,ZEGO 提供了只用于测试环境获取 token 的接口,正式上线一定要由开发者的业务服务器实现 token 逻辑。

登录 token 的获取详见:房间登录安全

调用示例:

/* ZEGO 提供开发阶段获取 token 接口:https://wsliveroom-alpha.zego.im:8282/token,只能用于测试环境,正式环境一定要由客户业务服务器实现 token
*/
// 获取登录 token
getLoginToken: function () {

var self = this;
const requestTask = wx.request({
  url: 'xxxx', // 该接口由开发者后台自行实现,开发者的 token 从各自后台获取
  data: {
    app_id: self.data.appID,
    id_name: self.data.userID,
  },
  header: {
    'content-type': 'text/plain'
  },
  success: function (res) {
    console.log(">>>[liveroom-room] get login token success. token is: " + res.data);
    if (res.statusCode != 200) {
      return;
    }
    zg.setUserStateUpdate(true);
    self.loginRoom(res.data, self);
  },
  fail: function (e) {
    console.log(">>>[liveroom-room] get login token fail, error is: ")
    console.log(e);
  }
});

},

/**调用 loginRoom 登录房间
**注意:需保证 roomID 信息的全局唯一,只支持长度不超过 128 字节 的数字,下划线,字母。
登录房间成功是后续所有操作的前提。小程序中演示源码片段如下,仅供参考:
**/
zg.loginRoom(this.data.roomID, token, { userID: this.data.userID, userName: this.data.userName })

    .then(result => {
      console.log(TAG_NAME, 'login room succeeded', result);
    }).catch(err => {
      console.error(TAG_NAME, 'login room fail', err);
    })

三、推流


直播过程中,主播要推送自己的本地画面,需要执行推流操作。

1、组件说明

微信小程序中的推流功能,需要使用 ZEGO "小程序直播插件”提供的 zego-pusher 标签。

调用示例:

<zego-pusher

    id="zg-pusher" 
    url="{{pusherInfo.url}}" 
    class="push-content"
    waitingImage="{{waitingImage}}" 
    enableCamera="{{enableCamera}}" 
    debug="{{debug}}" 
    autoFocus="{{autoFocus}}" 
    aspect="{{aspect}}" 
    minBitrate="{{minBitrate}}" 
    maxBitrate="{{maxBitrate}}" 
    zoom="{{zoom}}"
    mode="{{mode}}"
    muted="{{muted}}"
    beauty="{{beauty}}" 
    whiteness="{{whiteness}}"
    orientation="{{orientation}}"
    bindstatechange="onPushStateChange" 
    bindnetstatus="onPushNetStateChange">

</zego-pusher>

2、开始推流

主播登录房间成功后,根据业务逻辑准备推流。使用 SDK 推流播放需要执行如下步骤:

1)触发推流。

2)调用 SDK 的 startPublishingStream 获取 streamID 对应的推流地址。

3)将步骤 2 中获取的推流地址设置为 zego-pusher 的 url。

4)获取推流组件实例,然后调用实例 的 start() 录制视频。

调用示例:

zgPusher = this.selectComponent("#zg-pusher");

// 1/2. 主播登录房间成功后触发推流,调用 SDK 的 startPublishingStream 获取 streamID 对应的推流地址
zg.loginRoom(this.data.roomID, token, { userID: this.data.userID, userName: this.data.userName })

    .then(result => {
      console.log(TAG_NAME, 'login room succeeded', result);
      zg.startPublishingStream(this.data.pusherInfo.streamID).then(({ streamID, url}) => {
            this.data.pusherInfo = {
              streamID,
              url
            }
            this.setData({
              pusherInfo: this.data.pusherInfo
            }, () => {
              zgPusher.start();
            })
      });
    }).catch(err => {
      console.error(TAG_NAME, 'login room fail', err);
    })

3、推流事件处理

微信小程序会在 zego-pusher 的 bindstatechange 绑定的方法中通知出推流状态事件,开发者需要执行如下操作:

1)在 bindstatechange 绑定的回调函数中,调用 SDK 提供的 updatePlayerState API 将推流事件透传给 SDK。

2)在 SDK 提供的 publisherStateUpdate 回调中处理推流的开始、失败状态。

调用示例:

// zego-pusher 绑定推流事件
onPushStateChange(e) {

console.log(
  `${TAG_NAME} onPushStateChange `, 
  e.detail.code ,
  e.detail.message
);
zg.updatePlayerState(this.data.pusherInfo.streamID, e);

},
// 推流后,服务器主动推过来的,流状态更新;主动停止推流没有回调,其他情况均回调
zg.on('publisherStateUpdate', ({ streamID, state, errorCode }) => {

  console.warn(TAG_NAME, 'publisherStateUpdate', state, streamID, errorCode);
  this.setData({
    publishing: state === 'PUBLISHING' ? true : false,
    beginToPush: false
  })
})

3)微信小程序会在 zego-pusher 的 bindnetstatus 绑定的方法中通知出推流网络事件,开发者也需要在对应的小程序回调中,调用 updatePlayerNetStatus 将推流事件透传给 SDK。

调用示例:

// zego-pusher 绑定网络状态事件
onPushNetStateChange(e) {

console.log(
  `${TAG_NAME} onPushNetStateChange `, 
  e.detail.code ,
  e.detail.message
);
zg.updatePlayerNetStatus(this.data.pusherInfo.streamID, e);

},
// SDK 获取推流网络质量
zg.on('publishQualityUpdate', (streamID, publishStats) => {

 console.log('publishQualityUpdate', streamID, stats);

});

4)停止推流

停止推流,开发者需要执行如下操作:

1)调用 SDK 提供的 stopPublishingStream(streamID) 清空推流状态。

2)调用 zego-pusher 实例提供的 stop() 停止推流。

注意:上述第 1 步为必选操作,否则可能导致 SDK 状态异常。

调用示例:

// 停止推流
zg.stopPublishingStream (this.data.pushStreamID);
zgPusher.stop();

四、拉流


直播过程中,如果直播间里的观众要看到主播的推流画面,就需要执行拉流操作。

1、组件说明

微信小程序中的拉流流功能,需要用到插件提供的 zego-player 标签。

调用示例:

<zego-player

    id="zg-player" 
    sid="{{playerInfo.streamID}}" 
    url="{{playerInfo.url}}"
    orientation="{{orientation}}" 
    objectFit="{{objectFit}}" 
    minCache="{{minCache}}" 
    maxCache="{{maxCache}}" 
    mode="{{mode}}" 
    muted="{{muted}}" 
    debug="{{debug}}"
    pictureInPictureMode="{{pictureInPictureMode}}" 
    objectFit="{{objectFit}}" 
    class="play-content" 
    bindstatechange="onPlayStateChange" 
    bindnetstatus="onPlayNetStateChange">

</zego-player>

2、开始拉流

观众登录房间成功后,根据业务逻辑准备拉流。使用 SDK 拉流播放需要执行如下步骤:

1)触发拉流

2)调用 SDK 的 startPlayingStream 获取 streamID 对应的播放地址

3)将步骤 2 中获取的推流地址设置为 zego-player 的 url, 流ID设置为sid。

4)获取拉流组件实例,然后调用实例 的 play() 播放视频 或者设置拉流组件的 autoplay 属性为 true,实现自动拉流。

调用示例:

// 通过 SDK 获取 streamID 对应的播放地址
zg.startPlayingStream(streamList[0].streamID).then(({ streamID, url }) => {

        console.warn(TAG_NAME, 'startPlayingStream', streamID, url);
        that.data.playerInfo.streamID = streamID;
        that.data.playerInfo.url = url;
        that.setData({
          playerInfo: that.data.playerInfo
        }, () => {
          console.error(that.data.playerInfo, zgPlayer)
          zgPlayer.play();
        })
      }).catch(err => {
        console.warn(TAG_NAME, 'startPlayingStream', err);
      });

zgPlayer = this.selectComponent("#zg-player");

zgPlayer.play();

3、拉流事件处理

微信小程序会在 zego-player 的 bindstatechange 绑定的方法中通知出拉流状态事件,开发者需要执行如下操作:

1)在 bindstatechange 绑定的回调函数中,调用 SDK 提供的 updatePlayerState API将推流事件透传给 SDK。

2)在 SDK 提供的 onPlayStateUpdate 回调中处理播推、拉流的开始、失败状态。

调用示例:

// zego-player 绑定的拉流事件
onPlayStateChange(e) {

// 透传拉流事件给 SDK,type 0 拉流
zg.updatePlayerState(e.detail.streamID, e);

},
// 服务端主动推过来的 流的播放状态, 视频播放状态通知;type: { start:0, stop:1};
zg.onPlayStateUpdate = function (updatedType, streamID) {

console.log(`${TAG_NAME} onPlayStateUpdate ${updatedType === 0 ? 'start ' : 'stop '} ${streamID}`);

};

3)微信小程序会在 zego-player 的 bindnetstatus 绑定的方法中通知出拉流网络事件,开发者也需要在对应的小程序回调中,调用 updatePlayerNetStatus 将推流事件透传给 SDK。

调用示例:

// zego-player 绑定网络状态事件
onPlayNetStateChange(e) {

console.log(
  `${TAG_NAME} onPlayNetStateChange `,
  e.detail.info
);
zg.updatePlayerNetStatus(e.detail.streamID, e);

},
// SDK 拉流网络质量回调
zg.on('playQualityUpdate', (streamID, stats) => {

  console.log(`${TAG_NAME} playQualityUpdate ${streamID}`, stats);

});

4、停止拉流

停止拉流,开发者需要执行如下操作:

1)调用 SDK 提供的 stopPlayingStream(streamid) 清空拉流状态。

2)调用 zego-player 提供的 stop() 停止推流。

注意:上述第 1 步为必选操作,否则可能导致 SDK 状态异常。

调用示例:

// 停止拉流
zg.stopPlayingStream(this.data.playInfo.streamID);
zgPlayer.stop();

五、退出房间


调用如下 logoutRoom 退出房间。在退出房间前,请确保停止推拉流,并清理相关状态。

调用示例:

zg.logoutRoom(this.data.roomID);

六、配置公众平台域名


ZEGO分配给开发者的 URL(包含 HTTPS、WSS 协议),需要在微信公众平台进行“合法域名”配置后,小程序才能正常访问。

微信后台配置地址:微信公众平台 -> 设置 -> 开发设置 -> 服务器域名。

请开发者将 ZEGO 分配的请求域名,按照协议分类,填到指定的 request合法域名 或者 socket合法域名 中。例如:

通过以上步骤即可实现小程序直播功能,对于商品列表、后台管理等功能,可以在留言区或私信我开通,只需1周即可完成全部功能的配置。

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 1月15日

即构小程序直播组件集成教程

即构直播助手是微信官方认证的微信小程序插件,可为开发者提供便捷、强大的微信小程序音视频直播服务,让你快速实现小程序直播、多人连麦互动等功能。下面一起来看看,如何快速接入即构小程序直播插件。

一、准备环境


请确保开发环境满足以下技术要求:

  • 已安装微信开发者工具
  • 使用微信小程序基础库 2.3.0 及以上版本(否则不支持音视频播放、录制组件)

二、集成SDK


集成即构小程序SDK有两种方法,大家可以任选一种:

方法一:从即构官网下载

1.点击这里下载SDK

2.将下载下来的文件包解压缩后拷贝到小程序项目所在文件夹下。

3.使用 require 将 SDK 集成到项目中即可:

<script data-original="ZegoExpressWebRTC-x.x.x.js"></script>

注意:require需填写项目中 SDK 的实际文件路径。

方法二:使用npm获取 SDK

1.在终端运行安装命令

npm i miniprogram-zego

2.在开发者工具菜单栏中选择“工具 > 构建 npm”,并勾选“使用 npm 模块”选项。

3.在项目中添加如下代码:

let { ZegoExpressEngine } = require("zego-express-engine-miniprogram"); // 以npm的方式引用

三、集成小程序直播插件


1.申请插件

登录微信小程序后台,在“设置>基本设置”中,确定小程序主体/类目为可接入直播功能的类目。

关于哪些类目可使用即构直播插件,请戳这里了解~

2.添加插件

在小程序管理后台的“设置-第三方设置”中选择“添加插件”,在弹出的面板中搜索“即构直播助手”,选中插件并添加,等待后台审核。

插件名称:即构直播助手。

插件 AppID:wx2b8909dae7727f25。

插件最低版本限制:1.0.4。

3.在小程序中引入插件代码

插件申请审核通过后,使用插件前要在小程序工程的 app.json 中声明需要使用的插件,例如:

{
"plugins": {

"zego-e-commerce": {
  "version": "1.0.4",
  "provider": "wx2b8909dae7727f25"
}

}
}

4.使用小程序插件中的推拉流组件

1)在 page 或 component 的 .json 文件中定义需要引入的 zego-pusher 组件,使用 plugin:// 协议

{

"usingComponents": {
  "zego-pusher": "plugin://zego-e-commerce/zego-pusher",    //推流组件
}

}

2)在 wxml 文件加载上一步引入的 zego-pusher 组件

<zego-pusher wx:if="{{loginType==='anchor'}}" id="zg-pusher" url="{{pushUrl}}" class="push-content" bindstatechange="onPushStateChange" bindnetstatus="onPushNetStateChange"></zego-pusher>

3)在 page 或 component 的 .json 文件中定义需要引入的 zego-player 组件,使用 plugin:// 协议

{
"usingComponents": {

   "zego-player": "plugin://zego-e-commerce/zego-player",    //拉流组件

}
}

4)在 wxml 文件加载上一步引入的 zego-player 组件

<zego-player wx:if="{{loginType==='audience'}}" id="zg-player" sid="{{sid}}" url="{{playUrl}}" objectFit="fillCrop" class="play-content" bindstatechange="onPlayStateChange" bindnetstatus="onPlayNetStateChange"></zego-player>

以上就是直播小程序插件的接入方法,大家在接入过程中有任何问题,欢迎留言或私聊我~

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 1月14日

即构微信小程序直播组件是什么?有哪些功能?哪些小程序类目可以使用?

即构直播助手是微信官方认证的微信小程序插件,为开发者提供便捷、强大的微信小程序音视频直播服务。

即构直播助手除了包含微信小程序下的音视频推拉流能力,还支持iOS、Android、Windows、Web、H5等多平台互通,加上相关的组件,可助力开发者快速构建具有音视频直播能力的小程序。

即构直播助手是一个“社交 > 直播” [](https://developers.weixin.qq.... 类目下的小程序插件,仅限注册主体为国内电商平台、教育类目的小程序使用。1.04版本的插件大小为156KB。

即构直播助手具有强大的功能,能帮助电商直播、秀场直播、在线课堂等企业实现在小程序直播的需求。

推流:可实现音视频推流功能,支持RTMP格式;

拉流:可实现音视频拉流功能;

连麦:支持切换为RTC模式,实现低延迟的音视频通话、直播连麦功能;

多种分辨率切换:支持支持标清(SD)、高清(HD)以及超清(FHD)多种分辨率;

美颜:支持直播美颜、美白功能,可通过参数自定义设置美颜效果;

混响:支持KTV、大会堂、金属声、磁性等多种混响效果;

背景音:支持播放背景音,在秀场直播等场景下增加直播趣味性

有过微信小程序开发经验的都知道,在申请企业小程序平台时有主体和类目要求,不同的类目下,所需的申请资质以及所能调用的平台组件都不相同。在微信小程序中要实现音视频功能,例如直播、连麦、视频会议等,需要使用到微信官方平台的 live-player 组件和 live-pusher 组件。要调用live-pusher 和 live-player ,需要符合以下类目才能使用。

但随着各行各业对直播的需求增大,有一些不是以上类目的行业和企业也急需在小程序上实现直播功能,例如:电商平台;今年直播带货有多火不用再多说了;另外还有一些行业本身就涵盖了多个应用场景,例如:教育;官方类目下,仅有“教育-在线视频教程”这一个类目可以开通直播功能。

因此,即构微信小程序直播组件“即构直播助手”除了支持官方的直播使用类目外,还额外支持以下类目:

PS注意事项:

微信小程序的主体必须为非个人主体类型,否则无法使用直播功能。本文仅提供参考,详细的微信小程序类目及申请资质要求需以微信最新的 微信非个人主体小程序开放的服务类目为准。

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 1月12日

即构推出低延迟直播产品L3,可将直播延迟降到1s

近日,全球云通讯服务提供商ZEGO即构科技推出低延迟直播产品Low-Latency Live,简称L3。这款产品对传统CDN直播中“延迟较大、弱网抗性差、观众端内容不同步”等问题进行了有效优化,将有效提升“在线教育、电商直播、体育直播、秀场直播”场景中的延迟高、弱网抗性差和内容不同步等问题。

L3具备与云商 CDN 相同的高并发能力,但相比标准的 CDN直播产品,延迟更低、同步性更强、弱网抗性更好,依靠直播起家的即构科技,此次将直播延迟低于1s,给用户带来了真正实时的直播体验。

即构推出低延迟直播产品L3,可将直播延迟降到1s

“直播+”破圈加速进行,但痛点日渐突出

2020年8月,人民网舆情数据中心发布了《 互联网平台“直播+”赋能研究报告 》,《报告》深度分析了当下直播新生态,如电商直播、在线教育、在线医疗、云旅游和文化传承等应用现状。

如今的“直播”已经不再是线上娱乐内容的生产工具,而是与商业场景越来越紧密地结合,逐渐演变为基础的业务工具。作为未来社会的新型基础设施,“直播+”将在全面推动社会经济、政治、文化发展等方面大有可为。

但在有些场景,“直播+”还面临着很多痛点,传统 CDN 直播存在“观众延迟大、弱网抗性差、观众端内容不同步”等弊病,直接影响用户体验。

而在其中,直播延迟大的问题尤为突出,观众从发出评论,到看到主播给出反馈,一般要在5-10秒以上。而在有些场景,如果做不到实时同步,将很影响产品/平台的转化能力。

  • 在线教育场景,学生提出一个问题,老师听到的时候可能已经是下一个知识点了。
  • 电商直播场景,观众还没听到主播发红包,红包已经发出来了。
  • 体育直播,隔壁寝室都在呐喊进球了,你看到的还是一个妙传,观看内容不同步。
  • 秀场直播,观众打赏/弹幕互动后,迟迟听不到主播的口播感谢/弹幕响应。

低延迟直播产品L3:可将直播延迟降到1s,让直播转化能力更强

基于以上痛点,即构ZEGO推出了低延迟直播产品L3。

在降低延迟方面,即构L3产品负责人许键树介绍:“基于自研的 AVERTP媒体协议,L3只有1s延迟,相比传统CDN直播方案5-10s的延迟,最高降低 90% 以上。”延迟问题解决了,直播场景的内容同步就不是问题。

针对弱网抗性,L3是基于即构的自研媒体协议,相比传统CDN直播弱网抗性更好。市面上实现低延迟直播的方案大多使用WebRTC 技术,虽然是开源且完整的协议,但存在一些局限性,WebRTC 协议最大支持30%丢包,弱网抗性能力比较一般。

而即构团队是基于自研媒体协议 AVERTP ,在 ABC(码率自适应)的基础上,结合包含 FEC(前向纠错)、ARQ(丢包重传)和 PLC(错误隐藏)的智能 QoS 信道策略,充分利用链路带宽,保证音视频传输的低延迟、弱网抗性和多端的同步性。

即构团队耗时3个多月打造了这样一款低延迟产品,利用即构自研协议灵活开放的优势,让直播延迟更低、内容同步性更强、互动更加高效无阻。

另外许键树还提到,L3的扩展性还很强。它不仅提供了“低延迟的媒体服务”,也提供“房间及用户信息管理服务”, 也就是说,用户可以在连麦的同时进行低延迟直播。而在此前,客户可能需要在两者之间2选1。L3的强扩展性给了开发者定制更多精品业务的可能,支持客户随时进行用户体验升级”

即构推出低延迟直播产品L3,可将直播延迟降到1s

L3不仅延迟低、接入更简单,且更加灵活

L3接入极其简单,客户只需一个SDK,即可拥有全场景音视频能力,仅需调用 1 个 API ,就可以实现从“实时音视频”到“低延迟直播”的切换,简单易用。

L3的灵活性表现在,其开发是基于 ZEGO 的实时音视频 SDK ,这使得L3能与实时音视频产品无缝互通,全面的 SDK 接口和齐全的配套插件/服务,同样适配。

L3充分适用于在线教育、电商直播、一起看、在线竞拍等场景,让互动即刻到达

L3适用于对“低延迟、内容同时同步、强弱网抗性”要求比较高的场景,比如在线教育的大班课、超级小班;泛娱乐领域的“一起看”场景,一起看电影/演出/竞技比赛等。同时,也适用于视频平台的“一起看”场景,因为只有每个人看到的片段是一致的,我们才可以对一部电影发表点评。

在线教育场景中,大班课对低延迟的要求很高。老师在讲课的时候,学生要提问,但是如果过了4-5s老师才听到,这时候老师都讲到下一个知识点了。即构低延迟直播产品L3支持课堂的随问随答,让互动白板、文件共享等与音视频实时同步。除此之外,超低的延迟还可以让在线课堂变换更多玩法,比如近期火热的实时互动的在线自习室,低延迟直播产品L3可以支持无缝切换直播和连麦,学生与老师实时互动。

电商直播、在线拍卖场景对“实时性、同步性”的要求更高。此前,为了保持口播声音和红包同步,主播在口播之后需要等待大概3s才可以发红包。而在竞拍时刻,多一秒的延迟用户都可能错过心爱之物。L3可以让主播与用户端更加同步,让用户少有“错过”体验,主播口播之后就可以发出红包,看到用户咨询就可以即刻回复,有效减少用户流失,帮助提升商家活动的转化率。

而在“一起看竞技/演出/电影”的场景,低延迟直播产品L3可以让用户立刻命中情绪热点,即刻表达观看体验。

即构推出低延迟直播产品L3,可将直播延迟降到1s

ZEGO即构深刻洞察客户需求,用极致服务提升用户体验

一直以来,即构科技都在贴近客户需求做产品和服务。2018年,即构为刚起步的叮咚课堂贴身定制了行业首套AI课堂解决方案,提前一年让叮咚的业务上线起量。疫情期间,即构的极致技术服务让叮咚的互动课堂得到稳定保障,叮咚抓住行业机遇,业务获得飞速发展。

而这次的低延迟直播产品L3,也是ZEGO即构在深刻洞察客户需求的基础之上、为了针对性解决传统CDN的直播痛点而推出的。如今,创业5年的即构迈向“技术+服务”的2.0阶段,深刻理解和服务客户需求成为即构人每天都在研究的议题。

未来,随着“直播+”日渐成为现代生活的常态,每个人身边正在发生的故事、每一份实时知识的传递、每一个场景的实时再现,都可能有直播在背后提供支持,因此更加高效的直播显得至关重要。许键树对此表示:“影响直播转化效果的往往有可能是那几秒的延迟,和那转瞬即逝的卡顿。我们不希望这些发生,我们希望可以为未来更多场景、更多场高效直播提供绝对靠谱的产品,和绝对细致的服务”

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 1月7日

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

随着在线教育的快速发展,线上和线下的差异被逐渐抹平。近日,将线下“自习”这一场景搬到云上的“在线自习室”广受关注,好未来、字节跳动等巨头已跟进,上线了与平台打通的自习室功能。

那么,什么是“在线自习室”?打造一个实时互动的“在线自习室”需要哪些技术支持?为何“在线自习室”会吸引众多头部平台入场?下面,我们一起来深挖“在线自习室”这一在线教育新场景。

一、从打卡到连麦学习,多种形态的在线自习室

在线自习室的概念并非由在线教育平台首创,此前,以CoStudy为主的轻学习APP,就已推出了线上自习的功能;以B站、Timing为代表的直播/社交平台,也出现了用户创建线上自习室进行直播/连麦学习的场景;而好未来等在线教育平台,则是将在线自习室与教学深度打通,形成“自习+答疑”的新模式。

  • 学习+打卡的轻自习模式

以CoStudy、Forest、同桌等轻学习APP为代表,主要是通过锁屏、计时学习、打卡等方式,提高用户学习的专注度。虽然也有自习室的概念,但即使身处同一个教室,不同用户之间也仅能通过加好友、发私信、看动态等进行互动。

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

CoStudy在线自习室

这类APP上的自习室,强调减少其他APP对用户的干扰,来达到辅助学习的目的,因而用户间的交互比较有限,更像是学习类的工具。

  • 在线直播/连麦学习模式

以B站、Timing等直播/社交平台为代表,用户可自行开通直播间,以实时直播或多人连麦的方式,进行在线学习。用户通过摄像头直播自己的学习状态,互相监督,从而提高学习效率。同一个自习室既有实时直播/连麦的用户,用户也可作为观众加入该自习室共同学习。

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

B站直播自习室

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

Timing连麦自习室

这类场景下的线上自习室,尽管是通过直播/连麦方式进行的,但用户之间的互动还是以文字或弹幕交流为主。直播的加入,能营造更贴近线下自习室的多人学习氛围,同时通过摄像头曝光,“被监督”的压力加大,个人行为和习惯会被更有效的规范。

  • 在线自习+答疑模式

以好未来等在线教育平台为代表,将连麦自习与老师答疑结合。老师创建一个线上自习室,邀请5-20位学生加入。学生进行自习,遇到疑问可以申请上麦,与老师进行1对1沟通。

又一线下教学场景被搬到云上,在线自习室背后需要哪些技术支持

好未来在线自习室(图片来自多知网,侵删)

这类“自习+答疑”模式,所有互动都是基于直播/连麦进行,互动效率更高。打通了学生自习与老师教学,让学生每次自习后能即时获得反馈,更有成就感。

二、可实时互动的在线自习室,背后需要哪些技术支持?

根据上文的介绍,我们不难看出,在线教育平台更青睐“在线直播/连麦自习+线上答疑”的在线自习新模式。那么从轻互动的打卡记录到实时互动的连麦自习,对技术有哪些要求呢?

  • 高直播质量

和线上课堂相比,在线自习室虽然互动频率较低,但是对直播质量同样有高要求。比如需要支持多人连麦直播,视频画面流畅不卡顿,音画实时同步,兼容不同设备和平台,自适应复杂网络环境等。

  • 无缝切换直播和连麦

除了直播质量,在线自习室还需要实现直播和连麦场景的无缝切换,学生在自习过程中如果要进行提问,需要从直播状态切换为连麦状态,与老师进行实时互动。

针对以上痛点需求,即构科技低延迟直播产品Low-Latency Live(下称L3)可以提供完美的解决方案。

  • 千万级并发下,提供毫秒级低延迟直播体验

L3提供等同云厂商 CDN 直播的高并发能力,支持千万级并发拉流,但只有毫秒级的延时,可实现在线自习室场景下多人音画实时同步;兼容15000+iOS、Android、Windows、macOS等终端设备,复杂机型底层适配;基于自学习海量有序数据网络MSDN,可实现弱网高可用,在70%丢包下仍能进行稳定的直播互动。

  • 1个 API 无缝切换实时互动场景

即构低延迟直播产品L3,是基于 ZEGO 实时音视频 SDK 开发的,仅需调用1个API,就可根据场景实现实时音视频和低延迟直播的切换。在线上自习室场景中,可实现学生从自习时的直播状态平滑切换为提问时的连麦状态,简单易用,具有强大的灵活性。

三、后流量时代,用户时间成为在线教育平台的必争之地

在线教育行业的竞争已经进入白热化,从资金储备、业务模式、运营方式等进行全面升级。据不完全统计,2020年最后一周,以猿辅导、作业帮、好未来、跟谁学为代表在线教育头部平台,累计获得了超60亿美元的融资。而在广告投放方面,无论是节目赞助、视频广告还是户外广告,都能看到在线教育平台的身影。保守估计,2020年仅K12大班课的投放就已突破了50亿元。

在内容趋于同质化、获客成本节节攀升的现阶段,在线教育平台除了积极寻找新的流量阵地,更高效的进行获客转化外,还可以通过延长用户生命周期及使用时间来实现突围。

以2020年大热的AI教育赛道为例,AI互动课目前广泛应用于启蒙教育赛道,恰好是大型在线教育平台此前未触达的空白业务领域。通过AI互动课,可以将用户年龄段从K12向下延伸,囊括学龄前的用户(2-8岁)。
(戳这里了解即构AI互动课解决方案:https://mp.weixin.qq.com/s/R1...

而在线自习室场景,则能有效的延长用户使用时间。以往的在线课堂,学生按时上完课后便离开了应用。在线自习室的加入,可以让学生在结束线上课程后,继续留在应用内进行自习。

对孩子来说,线上自习能提高学习专注力,老师提供答疑,快速获得学习反馈;对家长来说,线上自习解放了辅导孩子作业的压力,让课堂的回归课堂;对平台来说,答疑老师只需辅导老师即可胜任,没有课程研发压力,可与已有业务形成闭环。

因此,在线自习室场景一经推出就吸引了多家平台的跟进,后续或将与课程系统、作业系统打通,成为在线教育链条中的重要一环。

从大班课、1V1教学、多人互动小班,到AI课堂、超级小班、在线自习室……在线教育行业从未停止探索新场景新玩法。即构科技持续深耕在线教育行业,通过优秀的音视频技术和VIP专家服务,帮助客户落地更多创新场景,推动在线教育行业不断向前发展。

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 2020-12-30

即构推出低延迟直播产品L3,功能全面全球高可用

以短视频、直播为代表的音视频互动,正成为互联网主流的交互方式。拿直播举例,它从一种娱乐形式,逐渐融合于教育、娱乐、电商、旅游等多种生态中。未来,直播还将成为像水、电一样的基础设施。

然而,仅仅可进行音视频互动是不够的,直播还需要与行业、场景、用户需求结合,实现体验更好、成本更低、扩展性更强的底层能力。而在这些能力中,低延迟是影响用户体验至关重要的一项。

一、即构推出低延迟直播产品Low-Latency Live

在大规模直播场景中,例如在线大班课、电商直播、秀场直播等,大部分是采用传统的CDN直播技术。CDN直播采用的是基于 TCP 的 RTMP/HTTP-FLV/HLS 等流媒体协议,本身就会引入「秒级」的系统时延。在这些场景中,观众从评论完到看到主播给出反馈,一般在5-10秒左右,能明显感受到延迟和不同步。

同时,传统 CDN 直播还存在弱网抗性差、观众端内容不同步等弊病,影响了用户的直播体验。

随着大规模直播在越来越多行业的应用,为了让用户获得更优质的直播互动体验,即构科技推出了低延迟直播产品 Low-Latency Live,简称L3。

L3产品具有等同云厂商 CDN 直播的高并发能力,支持千万级并发拉流;同时相比 CDN 直播,能给用户带来「毫秒级」的直播体验;具有延迟更低、同步性更优、弱网抗性更好的优势。

即构低延迟直播产品L3,是基于 ZEGO 实时音视频 SDK 开发,能够与RTC 产品及 CDN 直播产品无缝互通,用户只需集成一个 SDK ,即可拥有全场景的音视频能力。

二、全链路升级,实现低延迟互动全球高可用

传统的CDN直播,受限于流媒体传输协议及分发架构,会引入3s以上的系统延时。部分厂商的低延迟直播方案,采用的是 WebRTC 技术,虽然具有完整的协议,但是在弱网抗性及音视频功能上存在局限性,比如编码格式的适配。

即构低延迟直播产品L3,采用的是自研的媒体协议 AVERTP,能大幅降低系统延迟,并提高流媒体传输的弱网抗性。同时基于即构自学习海量有序数据网络MSDN,可实现服务的全球覆盖和高可用。

1.自研媒体协议AVERTP

即构自研媒体协议 AVERTP ,可将系统延迟降至1s以下。支持 H264,VP8、HEVC 等多种编码格式,开发者无需针对不同编码格式再做特殊优化适配。在码率自适ABC的基础上,结合包含前向纠错FEC、丢包重传ARQ和错误隐藏PLC在内的智能 QoS 信道策略,充分利用链路带宽,保证音视频传输的低延迟、弱网抗性和多端的同步性。

2.自学习海量有序数据网络MSDN

MSDN 是即构基于音视频服务的特性,结合 SDN 架构,将不同供应商的 IDC、⽹络线路等资源整合成一张“虚拟网络”。具有以下特点:

  • 中立弹性:可以整合任意云厂商/运营商的节点、专线网络等资源,实现最佳的覆盖,避免单云商故障影响整体服务;
  • 最优路径:实时探测全网各链路的情况,选择最优传输路径,尽可能避免网络延迟和丢包;
  • 业务识别:根据业务特性进行传输层协议的针对性优化,针对媒体大流量的特性提高重传效率,降低传输时延;
  • 灵活可靠:具备精细化的路由控制,可基于特定区域/特定业务调整流量的传输路径,应对复杂的业务场景和网络状况。

基于自研媒体协议和MSDN,即构低延迟直播产品L3进行了全链路升级,不仅解决了直播延迟高,互动体验差的问题;还保证了在高并发、复杂网络等情况下,服务的高可用。

三、即构低延迟直播产品L3的优势

除了低延迟互动和全球高可用外,即构低延迟直播产品L3还具有集成简单、扩展性强、配套功能强大等优势,让客户可以低门槛接入、多场景应用。

1.集成简单

L3是基于 ZEGO 实时音视频 SDK 开发的,开发者无需重新接入额外的 SDK(支持 LiveRoom SDK 和 Express SDK)就能拥有低延迟直播产品的能力,仅需调用 1 个 API 就可以实现实时音视频和低延迟直播的切换,简单易用。

2.扩展性强

L3 设计灵活,不仅提供低延迟的媒体服务,也提供房间及用户信息的管理;基于「流」粒度的媒体服务管理,可实现推送/拉取多条媒体流的能力。避免了单一流媒体服务或基于「用户等级」粒度的流管理,只能拉取某一种流的限制,实现更强大的扩展性。

在“超级小班”、“一起看(电影/演出/体育比赛)”等场景,用户既可以单独通过L3观看低延迟直播,又可以同时使用实时音视频服务与老师/主播/观众进行连麦互动。优秀的灵活度及强大的扩展性,为客户提供了更多定制化业务的可能,助力更多“直播+”场景的落地。

3.配套功能强大

开发者通过 ZEGO 实时音视频 SDK 接入 L3,全面的 SDK 接口及齐全的配套插件/服务同样适配。

ZEGO SDK 拥有 300+ API,包含音视频服务中从采集到渲染的各个环节,加上完善的设备管理,功能齐全的媒体播放器,以及切换房间,美声/美颜等功能特性,接入L3的客户按需调用即可获取ZEGO SDK的已有功能。

支持屏幕分享,文件共享,互动白板,服务器/云端录制等配套插件及服务,避免对接第三方,减轻开发量。

针对特殊场景下的配套服务需求,例如在线教育场景下互动白板与音视频实时同步的需求,即构对L3进行了深度优化,让L3 与互动白板配合使用时,仍能保证音画内容与白板绘制的同步。

直播作为音视频互动的一种方式,在与泛娱乐、教育、电商等行业结合,不断推动“直播+”生态日益丰富。同时也不断从各类场景应用中获得反馈,让直播的互动性更强、音画更清晰、服务更可靠,体验更优质。

即构将一如既往的倾听客户心声和行业需求,用更优质的服务和技术推动实时音视频在更广泛场景的落地。目前,即构低延迟直播产品L3已上线,感兴趣的小伙伴可以扫码添加即构售前了解更多~

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 2020-12-16

即构实时音视频流媒体架构设计实践

以下为即构后台负责人在2020QCon技术大会上的分享内容:


大家下午好。我是来自即构的廖念波,今天分享的主题是《即构音视频服务的架构实践》。简单介绍一下自己。我是一个在互联网行业工作快20年的老兵,之前在腾讯服务过,后来加入了即构,目前是负责即构的后台技术研发。

即构是一家成立了5年的创业公司,即构这个名字来自即刻构建音视频通讯能力。我们希望通过四行代码就可以让客户快速获得音视频通讯能力。

即构虽然是一个初创型的公司,但公司的核心创始团队和核心技术团队,在音视频技术这块实际上有超过19年的积累,他们大部分是来自腾讯、华为、中兴、YY等国内最早从事音视频研发的人员。目前我们服务的企业客户有4000多家,高峰期的每日通话日均互动时长突破了20亿分钟。

我今天的分享主要从以下4个方面展开:

第一,带大家快速了解音视频行业的业务形态

第二,介绍音视频云的架构

第三,介绍即构的多中心调度

最后,简单介绍我对技术运营的理解

一、业务介绍

1.即构流媒体业务简介

从下图中大家可以看到,实时音视频通信服务看起来是比较简单的。左边是各个端各个形态的推流,对应直播场景的话,就是一个主播,她可以通过Webweb、手机APP或小程序,甚至用一个第三方的软件,推入流到我们的云上。

右边是收听观看主播音频视频的观众,他们所使用的设备也使用支持我们的SDK。我们的客户只要集成我们的SDK,不需要再考虑“服务器全球分布,就近接入、日常运维”等因素,就可以快速实现音视频实时通信的能力。

中间是即构的实时音视频通讯云,我们提供了各种能力,比如各种转封装转协议,支持各个端,还能把多路流按照一定的视频布局,混流变成一路流。

其实相比传统的CDN直播,我们突出的场景或用户诉求,是能够进行低延时的实时对话和互动。相比传统的CDN,它的成本也会是较高一点的。因为它部署的节点和传输要求走的线路,相对来说是必须优质的。

为了平衡成本和体验,我们插入了多极灰度。中最常见明显的一种做法,当观众没有参与实时互动时,那么可以默认用 CDN推的流去收看,所以我们也支持转推CDN。在实时互动时,我们能够做到150ms-800ms这样一个全球端到端的低延时。

2.即构的主要业务诉求

即构是做ToB服务的,ToB业务的第一个诉求,是高可用。

第二是低时延延时。我们既然是做实时音视频通信,低时延第一眼是首要的,如果延时比较大,那么对会话就很不自然了。

第三是大规模的分发。一路流推到我们云端之后,可能最多要分发到几百万甚至上千万的观众各个终端上。

第四是弱网的抗丢包性。我们的企业客户主要是在中国,但客户的用户,很多是全球分布的在欧洲或者东南亚,所以我们面向的是全球分布的用户。不管是本地网络,还是中转相互通信过程中,都不可避免的会产生网络质量抖动问题,我们在后台可以监控到可以看到这种监控,在不同区域、不同国家的用户,它的网络质量差别是非常大的。

上面介绍了我们业务的整体概况,大家可以看到直观理解上还是比较简单和和整齐的。但这个业务的主要难点,第一它必须是高可用的,这是对客户的承诺。第二,在用户全球分布的情况下,怎么做到低时延,怎么对抗丢包?接下来我将通过流媒体架构设计和多中心化的调度服务,介绍即构是怎么通过架构和技术来实现全球低延时互动和大规模分发的。

篇幅关系,完整内容和演讲PPT可扫描下方二维码获取。作为一名后台技术的老兵,廖念波老师还在演讲中分享了自己对于后台运营的丰富经验,扫码即可查看。

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 2020-12-15

即构SDK12月迭代:新增多项质量回调,互动白板、云录制SDK同步更新

即构SDK12月迭代:新增多项回调,便于监测音视频通话质量

即构SDK12月迭代来啦,本月LiveRoom/AudioRoom SDK新增了端到端延迟质量回调、房间会话ID信息,便于在音视频通话、直播场景中进行时延、通话质量的评测。同时还优化了硬件设备权限变更监听,媒体播放器等多项功能。

除了LiveRoom/AudioRoom SDK外,本月迭代内容还新增了白板和录制的新功能。即构自研白板文件和云端录制上线以来,已有多家客户接入使用。在实际应用过程中,即构不断接收到来自客户的反馈,并快速上线新的功能满足客户需求。后续我们将同步发布它们的迭代内容,让大家能快速了解即构白板文件和云端录制的最新能力。

LiveRoom/AudioRoom

新增

1.新增端到端延迟质量回调功能

推流端启用延迟测量功能,通过拉流端回调来监控端到端延迟的状态,在音视频通话,直播场景中可用于观测端到端延迟,实现服务质量的评定。

推流端 EnablePeerToPeerLatencyProbe 开启延迟测量功能,拉流端设置监听方法 SetPeerToPeerLatencyProbeCallback ,实现延迟测算。

2.媒体播放器支持播放文件的媒体次要信息回调

回调播放文件的媒体次要信息,可用于录制文件中进行业务上审查。

媒体播放器设置播放文件 SEI 信息回调方法 setMediaSideInfoCallback ,回调数据信息和播放器序号。

3.新增音视频通话的房间会话 ID 信息

多个用户在房间内进行音视频通信,每一次音视频通信都会有唯一的 RoomSessionID 可标识,表示在房间内首个用户发起音视频通信持续到最后一个用户结束通信。可用于通话质量评分,通话问题诊断等场景中。

通过回调接口 OnRoomInfoUpdate ,可获取当前通信的 RoomSessionID。

4.外部采集增加设备状态变更事件的同步

在音视频数据源外部采集场景下,拉流端能收到推流端设备状态变更事件,可通过 setStatusReason 将推流端设备状态同步到拉流端。

优化

1.优化 PC 端 SDK 监听系统的麦克风和摄像头等硬件设备权限改变的状态

2.优化媒体播放器,可支持播放和加载时指定新开始的播放位置

3.优化 Native 中 Android/iOS/window/macOS 平台日志打印,支持明文日志输出到控制台以及写本地日志文件

4.优化AGC功能模块

优化“使用 AGC 模拟增益时,退出服务后无法恢复原始声音音量的现象”。启用方式为 SetConfig("recover_ori_device_volume=true”),默认是false。

5.优化拉流端Jitter的最大时长

提供 Config play_buffer_max_cache_interval_ms=5000 来控制 Jitter 最大缓存时间上限,默认5秒。

互动白板

新增

1、支持自定义文本工具的默认文本

iOS、Android 新增自定义文本工具的默认文本接口,调用该接口可以实现的具体场景为:使用文本工具时会弹出键盘,键盘输入框的默认文本支持客户自定义。

2、支持将外部文本传入到白板上

新增传入文本接口,调用该接口可以将外部文本以字符串的形式传入到白板 view 上显示。

3、支持禁用白板操作

新增禁用白板操作接口,调用该接口可以实现禁止用户对白板进行涂鸦、缩放、滚动等操作。

4、白板支持多选删除图元

新增批量擦除图元接口,调用该接口可以实现选中多个图元后,切到橡皮擦工具时,可以删除所有已选中的图元。

5、白板支持清空工具仅清空白板当前页的图元

新增清空当前页接口,调用该接口可以实现选择清空工具时仅清空当前页的图元。

云端录制

新增

1、支持上传腾讯云对象存储、七牛云对象存储

支持录制文件上传至腾讯云对象存储和七牛云对象存储,根据对象存储支持的地域不同,可满足录制文件上传至不同地区的存储模式。

2、支持上传阿里云视频点播平台

支持录制文件上传至阿里云视频点播平台,可用于课堂回放文件进行点播播放的业务场景。

3、支持某条音视频停止推流时显示自定义背景颜色

支持在某用户离开房间或某条音视频停止推流时,根据RGB 颜色值展示画面背景颜色,实现画面统一对齐,可用于不同的录制场景对断流补偿的个性化要求。

4、录制文件支持 M3U8和 TS 格式

支持录制成 M3U8和 TS 格式文件,提供更多样化的文件格式,满足不同场景的播放需求。

以上就是本月LiveRoom、AudioRoom、互动白板、云录制SDK更新的主要内容,更多详细文档以及历史更新内容,可以进入“即构官网(zego.im)-开发者中心”(https://doc-zh.zego.im/zh/313...)查看。

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 2020-12-09

ZEGO即构科技荣获36氪【WISE2020中国新经济之王最具影响力企业】

12月8-10日,36氪重磅新经济峰会WISE2020新经济之王大会将在北京举办。近日,2020新经济之王——中国最具影响力企业榜单陆续发布,全球云通讯服务商即构科技,凭借在企业服务领域硬核出色的技术表现和服务众多行业头部客户的实践能力,荣登「WISE2020中国新经济之王最具影响力企业」榜单,在企业服务赛道获得「最具影响力企业」奖项。

即构科技荣获「WISE2020中国新经济之王最具影响力企业」

「新经济」代表了中国最具创新力和增长性的力量,2020年,新经济创业公司们无论是断臂求生还是转型突破,都展现出了令人惊喜的生存能力,同时获得了投资机构的大力加持。

而由于疫情的催化,企业服务领域关注度爆发,在其中,实时音视频技术的服务价值得到快速显现,迎来快速发展。实时音视频云通讯方式也开始成为社会基础设施的重要组成部分,被更多人习惯和接受,也有更多行业在其助力下迎来转型发展,走入行业新风口,开启全新赛程。

我们看到了在线教育的疯狂加速。据统计,2020年,在线教育行业披露的融资金额共计约388亿元,较比2019年同期的108.75亿元,增长了256.78%,其中猿辅导和作业帮两家占总资额的80%左右。另一方面,传统企业的"上云"节奏也在加快,医疗、金融、政务办事、企业协作、智慧交通等行业迎来破局发展,这背后都有实时音视频技术在默默助力。而在5G 时代,云通讯技术将成为产业互联网的基础设施,成为改变未来的交互方式。

前不久刚完成C轮融资的即构科技成立于2015年,是服务全球的云通讯服务商。

即构核心技术班底来自腾讯,在业内有超过19年的技术经验积累。凭借着自研的音视频引擎和自学习海量有序数据网络-MSDN,即构科技服务了泛娱乐、在线教育、社交、游戏、IoT、远程医疗等行业的百余场景,覆盖了这些行业70%的头部客户,好未来、掌门一对一、轻轻家教、一起作业网、映客、微博、咪咕、Blued、荔枝、酷狗、360、中国平安、喜马拉雅等,都是即构的长期客户。

成立5年来,即构的客户流失率仅为3%,服务思维驱动的即构科技,极其重视客户服务。虽然这是一家To B的技术公司,但并不是纯粹的技术公司,反而提供的是"从技术研发、到客户交付上线的全流程的价值服务"。

在客户服务的层面上,即构并没有把To B当作一个只向客户提供交付的事情,而是做到了穿透客户的需求去理解用户的需求,具备基于服务思维的技术、产品和整体交付能力。疫情期间,即构流量暴涨4倍,日均音视频通话时长突破20亿分钟,稳定服务了流量暴涨的众多客户。

近日马化腾在其公开演讲中提及了一个新概念:围绕着RTC技术展开的"全真互联网"。这是一个基于实时通信和音视频基础技术的全真形态,在其中不止有"万物互联",更会有"信息接触、人机交互的模式"等更加丰富的变化。

疫情加速了RTC技术不断迭代升级,如今我们也能看到身边很多"连接交互"的方式正在发生变化。通信、社交在视频化,视频会议、直播崛起,游戏也在云化…在未来全场景时代,实时音视频RTC技术将扮演更为重要的角色,发挥重要的基础性支撑作用。

据悉,本次最具影响力企业的评选是通过问卷调研的方式,广泛收集市场上千家候选企业关于商业模式、团队组成、财务数据(近三年营业收入、毛利率)、研发投入、历年融资金额、估值等重要信息和数据,根据36氪各赛道分析师、十余名行业专家和投资人的访谈调研结果,结合人气投票对公司的综合影响力做出评判,评选出的「2020年中国新经济之王最具影响力力企业」

最终,即构从近千家企业中脱颖而出,斩获「2020年中国新经济之王最具影响力力企业」称号。

即构科技荣获「WISE2020中国新经济之王最具影响力企业」

查看原文

赞 0 收藏 0 评论 0

ZEGO即构科技 发布了文章 · 2020-12-09

即构科技肖传发:即刻构建在线教育的音视频互动场景

11月24日,由即构科技主办的2020GET大会教育科技分论坛在北京成功召开,来自叮咚课堂、小冰、360OS、蕃茄田艺术、即构科技的6位资深教育/科技大咖,在论坛上进行深度分享。

以下为即构科技教育行业解决方案总监肖传发,带来的主题为《即刻构建在线教育的音视频互动场景》的演讲。我们整理的分享的核心内容,错过活动的小伙伴可以继续回看学习。

扫描下方二维码,可获取演讲PPT资料

即构科技肖传发:即刻构建在线教育的音视频互动场景

二维码链接:https://www.wjx.top/jq/99044344.aspx

在大会上,肖传发分享了如何更好更快的帮助教育机构获得线上化能力,他透露:

即构将继续打磨基础产品,提供更优秀的组件和服务,对于行业场景方案继续深化,实现全场景的覆盖,并随着市场变化更新场景。

一、线下机构转型线上的难点

大家上午好,在开始今天的分享前,我们先来看看这张图。这是来自中国互联网络信息中心的统计数据,今年3月份我国在线教育用户规模已经达到4.23亿,相比去年翻了接近一倍。

即构科技肖传发:即刻构建在线教育的音视频互动场景

我们还有另外一组数据,以K12为例,预备尝试OMO模式的教育培训机构由疫情前的43%提升到了72%。这说明已经有72%的线下机构开始尝试从线下到线上的转型,而在转型过程中,每个机构可能遇到的风险是不一样的。

头部平台资金和技术积累雄厚,转线上时风险比较低;微型机构船小好掉头,经营管理方式灵活相对风险也比较低;而中小型平台受限于生存压力,更多的是被迫转型。更需要重点关注如何更好的搭建线上服务能力,将线下搬到线上。

回到教培机构本身,在转型线上时有以下三个难点要克服:

1)教学环境的改变

线下授课,老师可以直接观察学生的状态,学生之间有你追我赶的竞争环境;但搬到线上,老师和学生隔着屏幕,怎么去监督和提醒学生?怎么将这种竞争互动的氛围搬到线上?这些是需要解决的难题。

此外,教学环境还受限于音视频服务质量和网络的质量。线下授课,不存在听不清声音和看不见黑板的情况,但搬到线上,这些问题出现的概率大大提升。

2)教学方式的改变

信息传递介质由书本、笔记等实体教材变成答题系统、多媒体课件;互动方式由师生面对面提问互动变成可能出现延迟、反馈不及时现象。

3)辅导模式的改变。

在线下教学培训时,老师是学生的主要辅导者,老师最了解学生的状态。而在线上,这个角色会由老师变成家长,家长在辅导学生时如何把学生的状态更好地同步给老师,是需要去思考的。

除了以上三个难点外,线下教培转型线上难跟行业属性也密不可分。教育是重属性行业,大家对教育有极低的容忍度,机构在转型过程中面临着极大的试错成本。

二、教育机构如何快速搭建线上平台

基于此,即构提供了核心的音视频技术以及互动白板、文件/屏幕共享、IM信令、云录制等组件构成的一站式在线教育解决方案,让教育机构可以快速的搭建最适合自己的在线教育平台。

即构科技肖传发:即刻构建在线教育的音视频互动场景

在线课堂建设有三个核心:音视频、线上协作、文件服务,即构的方案包含了以上三个部分:

音视频

这是即构方案的核心,也是最擅长的能力。我们提供了符合在线教育场景的高达300个API,提供从老师到学生,从推流端、拉流端到服务端的全平台、全服务的所有能力。

线上协作

基于服务亿级用户的经验,即构提供的实时信令可更好的实现白板互动能力。通过时间戳对齐,即构的自研白板可与音视频实时同步,基于自研的智能实时多人冲突判定算法,可以支持高达100个学生同时操作白板文件。

文件服务部分

即构的文件能力覆盖足够广,支持10多种文件格式,支持动态PPT播放,支持异型PDF以及多表单展示;同时我们采用矢量放大,实现文件放大后不模糊的优质体验。

此外,即构针对在线教育场景还推出了云端录制解决方案,让教育客户可以通过调用API,无需再次开发,直接完成单流、混流以及包括白板文件在内的录制,并且生成即刻观看的MP4或者FLV文件,实现课堂内容录制及回放。

以上我们介绍的是一个个SDK或API接口能力,但对于线下教培,仅仅有这些“零部件”是远远不够的。由于在线教育中涉及到多年龄段、多班型教学,因此会延伸出多样化的教学场景,不同的场景对技术需求点差异较大。

因此,即构将所有的教育组件做成教培机构可以直接使用的解决方案,以小班课为例,即构提供了以下核心功能点:

即构科技肖传发:即刻构建在线教育的音视频互动场景

课前检测:老师和学生在上课之前要做设备和网络的检测,了解自己的设备能否正常上课;音视频互动:开始上课后,老师和学生可直接进行音视频通话和交流;

课件:在讲课过程中,老师能通过屏幕共享、课件分享以及白板分享等方式传递信息;

答题:学生在课中或课后,需要通过IM聊天、举手、答题等与老师进行互动;

录制:在整个课程结束之后,需要将整个课堂完整的录制下来,供点播或者是回放;

多端适配:老师使用电脑,学生通过手机、平板上课,需要兼容不同终端和设备;

课堂管理:在教学过程中,老师和学生的角色权限可能会发生改变,比如老师需要给学生画笔的权限,让学生能进行白板操作答题。

对比传统方案,即构教育场景整体解决方案的优势有:

第一,即构提供的是包含音视频及其他教育组件能力的整体化解决方案。可支持包括课堂角色、成员管理、课堂管理、权限管理等本需要机构自己实现的能力,正是这部分技术开发将很多希望往线上转型的机构难住了。并且,我们提供了示例Demo源码,客户可以直接拿来用,极大的降低了开发门槛。

第二,只需接入一家SDK就可以实现全部功能。不仅能够大大的提升集成效率,而且服务质量有保障,极大降低了在服务支持时出现“踢皮球”的现象。

第三,可对基础组件做更适合教育场景的优化。以白板为例,受限于需要高强度的实时信令同步以及引入、渲染等动作,会对性能占用较大。即构精简了信令协议,降低了带宽占用。提供的渲染方案,让即构的白板比其他服务商在性能占用上少了一个数量级。

即构目前已经提供了小班、大班、AI、双师以及超级小班等多种解决方案,覆盖了全场景、前后端以及组件端的所有业务能力。在解决方案外,我们还做了服务升级,包括工单系统对接,SLA的服务品质保障、课堂质量运营看板,以及从初期需求沟通到最后系统上线运营的接入全流程质量保证方案。

即构科技肖传发:即刻构建在线教育的音视频互动场景

教育行业仅仅有即构是不够的,因此我们一直以开放的姿态,与各行各业的合作伙伴,积极探索在线课堂从教材、课堂、环境、答疑、作业、教学到测评表彰的完整7个环节,实现全环节的技术赋能。

查看原文

赞 0 收藏 0 评论 0

认证与成就

  • 获得 5 次点赞
  • 获得 1 枚徽章 获得 0 枚金徽章, 获得 0 枚银徽章, 获得 1 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2020-04-15
个人主页被 771 人浏览