关闭

搭建WebRtc环境

4820人阅读 评论(0) 收藏 举报
分类:

转载自:http://www.cnblogs.com/wunaozai/p/5520084.html

0.前言

这次的需求,准备做的是一个类似与QQ视频一样的点对点视频聊天。这几天了解了一些知识后,决定使用HTML5新支持的WebRtc来作为视频通讯。客户端使用支持HTML5浏览器即可。服务器段需要提供两个主要的服务功能,一个是信令服务器(Signaling Server),一个是NAT穿透服务器(ICE Server)。简单的框架图如下:

1.安装e2esoft vcam 虚拟摄像头

由于我本地是台式电脑,没有摄像头,另一方面,为了调试的方便,安装这个虚拟摄像头。
我是在这里下载的http://www.loveliao.com/downfiles/VCam_v4.5.exe

2.安装信令服务器

网上信令服务器大多是以nodejs写的。这里以skyrtc为例,进行演示。

1 apt-get install nodejs npm
2 git clone https://github.com/LingyuCoder/SkyRTC-demo
3 cd SkyRTC-demo
4 npm install
5 nodejs server.js

这样浏览器访问本地http://localhost:3000就可以访问了。(主要chrome好像46以上版本,除了本地localhost和127.0.0.1本地调试外,其他的访问方式,必须要https。否则不能运行。PC端和移动端好像都是这样) Chrome报错如下:

这里准备用Firefox进行演示。移动端也是用Firefox进行演示。

手机端,用Firefox浏览器查看的效果。

 

3.安装coturn(开源的iceserver)

这个跟谷歌开源的rfc5766-turn-server 是类似的,这里我使用coturn

1 git clone https://github.com/coturn/coturn
2 cd coturn
3 ./configure
4 make
5 make install

安装后在coturn/examples/etc 目录下使用该命令执行

turnserver -o -a -f -v --mobility -m 10 --max-bps=100000 --min-port=32355 --max-port=65535 --user=ling:ling1234 --user=ling2:ling1234 -r demo

这样就启动好了,默认的监听端口是3478

4.修改WebRtc 客户端配置

修改Skyrtc-demo/publi/SkyRTC-client.js

免费公开的stun+turn 服务器 : https://gist.github.com/yetithefoot/7592580

5.运行,查看效果

root@debian-srv:~/workspace/SkyRTC-demo# nodejs server.js

浏览器打开两个页面

   

一个PC端 一个移动端

  

亲测,移动4G可以跟我当前的网络穿透成功,但是移动3G不行。其他的网络网络运营商没有测试。单靠这些,做着玩玩还可以,距离产品还差十万八千里呢。当下的网络还是比较复杂的,IPv4告急,有些ISP分配的IP的还有可能是内网的,有些大机构的网络还是对称性NAT。而对于对称型NAT是基本不能穿透的。要经过转发, 而转发视频对带宽的消耗是很大的。真的是希望IPv6早点普及。

 

参考资料:

  webrtc资料:  

  https://segmentfault.com/a/1190000000439103
  https://bitbucket.org/webrtc/codelab/overview
  https://github.com/LingyuCoder/SkyRTC-demo
  http://xiaol.me/2014/08/24/webrtc-stun-turn-signaling/
  http://www.mamicode.com/info-detail-513556.html 
  https://simplewebrtc.com/ 
  https://gist.github.com/yetithefoot/7592580

  ICEServer资料

  https://github.com/coturn/coturn
  http://www.cnblogs.com/lingdhox/p/4209659.html

 

本文地址: http://www.cnblogs.com/wunaozai/p/5520084.html


2
0
查看评论

JAVA webRtc的实现视频会议系统

今天很不开心 。拿这个项目去
  • Ares_Basic
  • Ares_Basic
  • 2014-10-22 21:29
  • 4754

基于Chrome、Java、WebSocket、WebRTC实现浏览器视频通话

介绍         最近这段时间折腾了一下WebRTC,看了网上的https://apprtc.appspot.com/的例子(可能需要翻墙访问),这个例子是部署在Google App Engine上的应用程序,依赖GAE的环境,后台的语言是pyt...
  • leecho571
  • leecho571
  • 2012-11-04 13:04
  • 40439

Java+WebSocket+WebRTC实现视频通话实例

http://www.tuicool.com/articles/qmE3ii Java+WebSocket+WebRTC实现视频通话实例 时间 2012-11-04 21:04:55  洗尽铅华 原文  http://blog....
  • mengzhengjie
  • mengzhengjie
  • 2016-05-20 12:33
  • 1159

Java通过WebSocket WebRTC实现视频通话实例

介绍         最近这段时间折腾了一下WebRTC,看了网上的https://apprtc.appspot.com/的例子(可能需要翻墙访问),这个例子是部署在Google App Engine上的应用程序,依赖与GAE的环境,后台的语...
  • hj7jay
  • hj7jay
  • 2016-06-13 23:35
  • 8131

WebRTC 和 IP 摄像头的交互

过去的几个月中,越来越多的开发者希望获得如何连接WebRTC与IP摄像头的信息。解决这个问题通常需要大量对底层媒体协议细节的深入了解。此外,在创造“Demo”和实际产品之间的距离也很大。我们将在本文中介绍如何利用Kurento的媒体服务器来正确地实现它。WebRTC Media Gateways f...
  • biaobro
  • biaobro
  • 2017-03-27 10:11
  • 2316

WebRTC 非常适用于智能家庭安防摄像头

WebRTC 是一个开源的IETF/W3C 标准,在浏览器中添加了很多成熟的媒体引擎(音视频编解码器,抖动缓冲(jitter buffers),回声消除(Echo cancellation),流同步(Synchronized streaming),数据通道(Data channel)),从而可以执行...
  • biaobro
  • biaobro
  • 2017-03-28 12:26
  • 1268

WebRTC的视频传输的大致流程

首先介绍一下WebRTC的视频传输的大致流程,摄像头在一端拍下图片,然后编码,通过RTP传输给另一端,另一端接收到图片后,解码,最后显示到屏幕上。该过程反复进行就实现了端对端的视频通信。 这里重点介绍一下编码和解码,Google实现的WebRTC只支持VP8编解码,不支持当今流行的H264(由...
  • coloriy
  • coloriy
  • 2016-07-01 15:05
  • 2594

5分钟搭建一个HTML5视频聊天Demo(WebRTC+NodeJS)

到 http://nodejs.org/ 下载最新版nodejs,我下的是“node-v0.10.7-x86.msi”。 安装,记得选中有关path的选项,这样nodejs就能在任何目录运行了。 安装完毕后,点击“Node.js command prompt”启动控制台,输入...
  • u012377333
  • u012377333
  • 2014-10-29 17:51
  • 9724

开箱即用的 WebRTC 开发环境

本文为作者投稿,版权归作者所有,未经允许,请勿转载。  作者:Piasy 在刚刚落幕的 WWDC17 上,苹果为我们带来了一个不小的惊喜 —— 其浏览器内核WebKit将正式支持 WebRTC,而未来基于 WebKit 内核的苹果浏览器,比如macOS High Sierr...
  • ljh081231
  • ljh081231
  • 2018-02-05 14:17
  • 5

webrtc 学习

前一段时间一直在研究webrtc,来做个总结。        关于webrtc的一些简单介绍,我不想说太多,百度百科和blog.csdn.net/temotemo的博文都有介绍,当然webrtc在不断的更新中,这两处得介绍是基于早期版本滴,...
  • qazwsxwtc
  • qazwsxwtc
  • 2014-02-11 16:53
  • 10071
    个人资料
    • 访问:1770013次
    • 积分:21658
    • 等级:
    • 排名:第410名
    • 原创:201篇
    • 转载:1111篇
    • 译文:2篇
    • 评论:207条
    程序员日记
    微信扫描关注我!
    个人淘宝
    博客专栏
    最新评论