webrtc入门:13.pion webrtc开源的webrtc框架

讲到这里,其实我们队webrtc已经有了一定的了解了,我们知道大部分的浏览器中集成了webrtc的框架,这样我们可以方便的在浏览器之间建立起视频通讯。

webrtc 是一种点对点的连接方式,这样的优点非常的明显,在局域网中非常的方便,如果不是在局域网中,我们也可以很方便的采用中间服务器建立起连接,可以说webrtc 是现在视频通话技术的遥遥领先者。

但是这种点对点的视频通讯形式优点很多,同样的缺点也是比较明显的,一个就是流的走向。通常在一对一的聊天中,这种点对点的非常的好用,但有的时候我们需要的是直播,这种不像点对点那样,如果用点对点的方式来实现主播的模式,对于主播来说有多少观看者,那就需要连接多少路上推流的连接,这样对主播来说这是不现实的。

那我们该怎么办?该如何用webrtc的协议来实现这种主播的模式呢?

当然有办法,webrtc 的协议实现的这么方便,同样的也可以移植一份到服务器上,像windows在浏览器上使用webrtc 一样,我们也可以在服务器上进行webrtc 协议的使用。

这样 用客户端的浏览器和服务器上的webrtc 协议进行互相连接,这样视频流就直接跑到服务器上了,这样我们就有办法对webrtc 的流进行控制,想发给谁就发给谁了。

在服务器上实现webrtc 协议的,不仅仅是我们之前说的Kurento ,pion webrtc 也同样实现了,pion webrtc采用的是golang语言实现的,接下来我们就先简单的介绍下,pion webrtc 的使用。

pion 同样的实现了浏览器的那一套api,peerconnection 生成sdp ,进行sdp的互换,ice生成和互换,流程跟浏览器的看起来没有什么两样。

github的地址在这里。下载里面的源代码,把golang的环境搭建起来,还没有搭建golang环境的可以查考这篇文章。

examples 的目录下,运行命令行:

go run examples.go

出现如下的提示:

2022/09/26 11:43:30 Listening on :80

在浏览器中运行 127.0.0.1,就可以看到如下的demo:

webrtc入门:13.pion webrtc开源的webrtc框架_第1张图片

就介绍到这里。

你可能感兴趣的:(webrtc入门,webrtc,开源,服务器)