WebRTC-Android 探索 - 前言

什么是 WebRTC 

简单来说, WebRTC 就是一款在 Web 端进行实时通讯的一个工具,它允许通过 API 直接进行端对端的连接,允许它们在端和端中直接交换任意类型的数据。这听起来好像很像 WebSocket,其实不然。WebRTC 是允许直接端对端进行连接的,而 WebSocket 需要通过一个服务端中转来进行端与端之间的通信,这个中转将会导致一定的延迟,这个延迟在普通通信可能影响不大,但在音视频数据传输中是影响相当大的,所以 WebRTC 直接通过端对端的传输来减小其通信延迟。

WebRTC 是怎么工作的

前面说到,WebRTC 是可以绕开服务器直接进行端对端的通信的,但 WebRTC 也需要依赖服务端传输信令,以能够交换一些重要的信息来建立两个端的连接,比如两个端发出的数据的一些数据格式、通信信息等。两端通过服务端交换好数据后就能通过一系列 API 进行通信了,其中会涉及到 NAT 技术,此技术我也不会进行深入了解,仅需知道它是用来将局域网 IP 地址转换为真实 IP 地址以便两端进行直接通信即可。

为什么要写这系列文章

随着 5G 技术的发展,网络带宽的大幅度增加将会影响每一个行业,从以前的低质量的语音/视频通话发展到高质量的语音/视频通话变得更加容易,所以 WebRTC 技术会变得更加受欢迎。然而在国内与 WebRTC-Android 相关的资料较少,大多数资料都是基于 Web 端的,所以我希望能够在自己进行学习的过程中记录下来,也为后人研究能够得到一些便利作出一些贡献。

WebRTC 在 Android 端上涉及到很多端上的技术实现细节,采集、渲染、编解码更是在 Android 端的一个较大的挑战,总会有许多奇怪的问题出现在这些过程中。所以我希望能够在本系列文章中分析 WebRTC 在 Android 端上的一些实现,以对 WebRTC 有更深的了解。

本系列文章内容

本系列文章将会从一个非常简单的 Demo 开始,注重 Android 端上 WebRTC 的使用,解开 WebRTC-Android 的迷,从采集编解码到最后的连接我都将慢慢解析。本系列文章将不会非常注重服务端的实现,但是会在最后分享一些开源的服务端实现。第一篇文章将会从一个 Demo 开始讲解如何简单使用 WebRTC 进行采集、渲染、传输,会简单讲一下使用流程。同时后面讲从编译开始讲起,然后将代码引入到项目中。这些我都将一步一步写出来。这算是 2019 上半年给自己立的一个 Flag,将这个系列的文章更新好,这样也会对我对 WebRTC 的了解提升更多。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值