1.webrtc开发准备篇(1)
前言:
WebRTC目前是音视频通话流行开发框架。web端、移动端原生应用基本是首选音视频通话sdk,强大的网络实时处理能力及平台兼容性出众。
在不涉及源码修改、功能扩展、模块抽取的情况下,使用webrtc仅需要少量代码即可实现常规的1对1视频通话功能。
安装及入门:
安装部分比较方便,android使用gradle添加入库即可,ios也可以cocopods快速引入。具体可以参考webrtc官网安装指引(需要翻墙)
安装sdk版本说明:无特定兼容需求安装最新版本即可,注意ios最新版目前已最低支持ios10
服务器:推荐部署封装turn和stun服务器的开源coturn服务器
接口调用流程:根据webrtc接口开放来看,接口操作可以分为简易模式和自定义模式。
简易模式:即直接使用默认的摄像头/麦克风采集类和音视频编解码类进行操作,比模式不接触采集内部数据处理,编解码和渲染层数据处理,简洁易用
自定义模式:由于webrtc为开源框架,进行具体业务开发时候难免会碰到需要深入定制开发的功能,例如通话过程摄像头数据美颜/滤镜处理 编解码器内部参数详细定制 渲染层数据裁剪显示等 这类功能可以采用继承源码方式然后再把内部数据开放出来修改即可
流程描述:要使用好webrtc仅需要对以下几个关键点有一定了解即可。
1.offer/answer交换。这个过程表示媒体信息流能力的交换 信息标识了端流媒体能力的各项参数,例如音视频编码解码器支持列表,网络策略机制等
2.icecandidata信息交换。此过程标识端网络参数协商过程,webrtc是默认支持p2p模式通讯的,在通讯前会交换两端的网络信息,这样可以决定流媒体通道和数据交换通道采用转发模式还是p2p模式
3.peerconnect操作相关。此类主要是关联采集类编码器类及设置offer/answer/icecandidata各项处理的封装类,开发者只需要操控这类对象即可简单使用webrtc
未完...
网友评论