技术摘录

只是一些项目相关技术的摘录

C#+WebSocket+WebRTC多人语音视频系统

https://www.open-open.com/lib/view/open1406167367195.html

WebRTC是谷歌的开源的实时视频音频聊天技术,支持跨平台,Nat穿透技术(Stun,Turn,Ice),在部分支持Html5的浏览器里集成了这个功能。

至目前为止支持的PC浏览器有:Chrome 31+,opera 19+,FireFox 26+

至目前为止支持的Android浏览器有:Chrome,opera,FireFox

IE所有版本均不支持!!

IPhone手机暂不支持!!

整个WebRtc里面已经封装好了视频音频采集和传输,你需要做的就是使用任何可以实现WebSocket的语言来开发一套信令服务器

信令服务器负责用户拨号控制,可以集成用户验证等功能来验证用户身份等等,需要为WebRTC做的只有传递协议数据,将一边的传递给另一边,让两边互相了解对方的浏览器视频音频解码类型,版本情况,内外网情况等等,

需要使用的有:vs

              chrome

              一个公网IP

              CentOS

              turnserver(https://code.google.com/p/rfc5766-turn-server/

                    (这个版本集成了stun和turn,不需要分别再安装了)

需要使用的库:Fleck:一个.net的WebSocket库,百度可以搜得到。

              LitJson:一个小巧的Json解析库。

IWebSocketConnection类默认没有Args属性,是我后来修改源码添加的。

下面是我自己写的一个简单的WebRTC服务端,也就是信令服务器

?

下面是网页端的Js代码,算是客户端,rtc_main.js

?

网页前台代码。。。很简陋,vid可无限扩展

?

main.css

?

下面是Linux配置Stun和Turn服务端

先下载依赖包libevent编译安装

?

再下载服务端turnserver编译安装

?

修改服务端配置文件

?

查找修改以下内容,保存退出。

?

其他选项根据情况设置,有详细的解释

下一步生成用户Key,用来验证用户,(不包含中括号)

?

这个命令会产生一个0x开头的字符串,这便是用户的Key。

然后把用户名和Key保存在turnuserdb.conf里

?

下面是写入内容,保存退出。

?

现在服务器配置完成,可启动服务了。直接运行turnserver即可。

客户端访问测试。

来自:https://my.oschina.net/u/858881/blog/293751


评论

© 技术摘录 | Powered by LOFTER