讲到这里,其实我们队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:
就介绍到这里。