WebRTC学习

WebRTC 介绍

官网,官方的Getting Started
Google关于WebRTC的幻灯片

然后是WebRTC的SPEC:
https://www.w3.org/TR/webrtc/
WebRTC项目源码地址:https://chromium.googlesource.com/external/webrtc

Native开发文档:https://webrtc.org/native-code/development/

JS端的API文档:http://w3c.github.io/webrtc-pc/

维基百科对WebRTC的介绍:https://en.wikipedia.org/wiki/WebRTC

WebRTC工作组:https://www.w3.org/2011/04/webrtc/

20170331补录,官方 native api 文档,很好解释了 native 的流程:https://webrtc.org/native-code/native-apis/

20170428补录,webrtc-internals 的详细介绍:http://testrtc.com/webrtc-internals-parameters/。对应的中文翻译:https://segmentfault.com/a/1190000008178082

教程
入门的,首选codelabs的Real time communication with WebRTC:

https://codelabs.developers.google.com/codelabs/webrtc-web
然后是html5rocks上的基础教程:

https://www.html5rocks.com/en/tutorials/webrtc/basics/
开发文档、入门教程,参考这里:

https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC/Peer-to-peer_communications_with_WebRTC
这里,http://piratefsh.github.io/projects/2015/08/27/webrtc-stun-turn-servers.html,是一个人部署stun和turn server的记录。

进阶一点的,看这个,比较完整的介绍和实践:

http://blog.mgechev.com/2014/12/26/multi-user-video-conference-webrtc-angularjs-yeoman/
还有这个,介绍如何用WebRTC一步一步实现视频会议:

https://www.cleveroad.com/blog/webrtc-step-by-step-implementation-of-video-conference

20170331,发现一个很棒的入门文章:
https://hpbn.co/webrtc/
20170517, webrtchacks:https://webrtchacks.com/,有很多你意想不到的好东东。

20170524,一个贼棒的WebRTC课程,从这里订阅:https://bloggeek.me/enroll-course/

STUN/TURN/Signaling解决方案
WebRTC需要Signaling、STUN、TURN等Server,Google有自己的,还有很多开源的,也有收费的。

免费的:

Signaling Server需要自己实现,如果你用Nodejs和Socket.io的话,比较容易做。https://codelabs.developers.google.com/codelabs/webrtc-web这里就有一个示例。
Google的STUN服务器:stun:stun.l.google.com:19302
restund:http://www.creytiv.com/restund.html
rfc5766-turn-server: https://code.google.com/p/rfc5766-turn-server。挪到这里了:https://github.com/coturn/rfc5766-turn-server/,支持STUN和TURN
http://www.pjsip.org/, PJSIP,支持STUN、TURN、ICE。
https://nice.freedesktop.org/wiki/,libnice,支持ICE和STUN。
http://www.stunprotocol.org/,STUNTMAN,对应的代码,https://github.com/jselbie/stunserver
https://sourceforge.net/projects/stun/,STUN client and server
https://github.com/coturn/coturn,C++实现的STUN和TURN服务器,这里有一个安装指南:https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html
这里有一个WebRTC服务器搭建的文档:http://io.diveinedu.com/2015/02/05/%E7%AC%AC%E5%85%AD%E7%AB%A0-WebRTC%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA.html

收费的解决方案:

https://www.onsip.com/blog/webrtc-server
开源示例
还有一些开源的示例代码,这个比较全了:

https://github.com/webrtc/samples
对应的demo在这里(Chrome打开可以看效果):

https://webrtc.github.io/samples
回退一级,还有更多资源:

https://github.com/webrtc
还有一个,SimpleWebRTC:

https://github.com/andyet/SimpleWebRTC
还有:

https://github.com/mgechev/angular-webrtc
嗯,接下来这个更赞,支持多人视频会议,开源的:

https://github.com/jitsi,对应的演示地址https://meet.jit.si/
世界上第一个基于HTML5的SIP客户端:https://www.doubango.org/sipml5/。他们的GitHub主页:https://github.com/DoubangoTelecom/doubango

2016.11.10补充

又找到一个国内的小示例,WebRTC实现网页版多人视频聊天室:http://www.cnblogs.com/FuzhePan/p/3899551.html。看样子是多人聊天室,一对一视频的实现。

还有一个WebRTC native demo:http://sourcey.com/webrtc-native-to-browser-video-streaming-example/,能够在C++的客户端和浏览器之间视频通信。

20170602,两个相关的项目:

在线演示
搜集了一些在线演示的示例:

https://apprtc.appspot.com
http://www.simpl.info/getusermedia
https://webrtc.github.io/samples
http://webcamtoy.com/app/
http://www.shinydemos.com/facekat/
http://idevelop.ro/ascii-camera/
https://meet.jit.si/,多人的视频会议
围绕WebRTC的框架和服务
框架,视频通信的:

https://github.com/webrtc/adapter,封装了浏览器差异
https://github.com/henrikjoreteg/SimpleWebRTC,前面说过这个链接了
https://github.com/priologic/easyrtc
https://github.com/webRTC/webRTC.io
Peer间传递数据的:

http://peerjs.com/
https://github.com/peer5/sharefest
服务:

http://www.tokbox.com/
http://www.vline.com/
RTCMultiConnection,JS封装库和Signaling服务:

https://github.com/muaz-khan/RTCMultiConnection
WebRTC broadcast:
https://github.com/muaz-khan/WebRTC-Scalable-Broadcast
SIP.js(WebRTC and SIP signaling):

https://www.sipjs.com/
freeSWITCH(支持WebRTC):

https://freeswitch.org/
https://www.packtpub.com/books/content/configuring-freeswitch-webrtc
webMCU(support WebRTC):

http://www.medooze.com/products/mcu/webrtc-support.aspx
背景及相关的rfc文档
rfc5245(ICE):http://www.faqs.org/rfcs/rfc5245.html
rfc3264(Offer/Answer, SDP):http://www.faqs.org/rfcs/rfc3264.html
rfc3550(RTP):http://www.ietf.org/rfc/rfc3550.txt
rfc5389(STUN):http://www.faqs.org/rfcs/rfc5389.html
rfc7478(WebRTC use cases):https://tools.ietf.org/html/rfc7478
rfc7742(WebRTC Video Audio):https://tools.ietf.org/html/rfc7742
rfc5766(TURN):https://www.ietf.org/rfc/rfc5766.txt
rfc7875(WebRTC additional audio codecs):https://tools.ietf.org/html/rfc7875
rfc5128(P2P):http://www.faqs.org/rfcs/rfc5128.html
https://webrtchacks.com/a-hitchhikers-guide-to-webrtc-standardization/
rfc6062(TURN allocation for TCP):https://tools.ietf.org/html/rfc6062
rfc7065(TURN URI):https://tools.ietf.org/html/rfc7065
rfc7064(STUN URI):https://tools.ietf.org/html/rfc7064
add desc for rfc, 2017-03-06

这篇文章很清晰的介绍了STUN、TURN等网络背景,非常值得推荐:https://github.com/rainzhaojy/blogs/issues/4。还有这篇也不错:https://github.com/rainzhaojy/blogs/issues/6。作者的系列博客:https://github.com/rainzhaojy/blogs/issues

added, 2017-03-08

20170331,看了关于SDP的资料:

https://tools.ietf.org/id/draft-nandakumar-rtcweb-sdp-01.html
https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-01
20170417,SDP rfc:

http://www.faqs.org/rfcs/rfc2327.html
图书
《Real-Time Communication with WebRTC》,https://bloggeek.me/book-webrtc-salvatore-simon/
https://bloggeek.me/best-webrtc-book/,这里介绍了5本书。
课程
https://bloggeek.me/course/webrtc-architecture/

来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • WebRTC 学习报告 O_禾火_O[https://www.jianshu.com/u/44dd44d945dd...
    小杰的简书阅读 3,031评论 1 1
  • 1、在大学确定自己的兴趣爱好对未来的人生很重要 大部分的大学生都有自己的兴趣爱好,比如写作,比如摄影,再比如画漫画...
    戴日强阅读 686评论 1 3
  • 我一直觉得,RAC是仿佛已经被遗忘的话题,擅长的人已经把它化为内力,不擅长的早已忘记这个技术的存在,这个暂且按住不...
    daixunry阅读 4,374评论 0 11
  • 孩子,最能坚持的是什么,那就是:妈妈,给我讲故事。这是我想了两天都在想,我们家孩子可以坚持很久的就是这个。...
    LEE婷阅读 263评论 2 0
  • iOS10正式版发布之后,网上各种适配XCode8以及iOS10的文章满天飞。但对于iOS10适配远程推送的文章却...
    坤坤同学阅读 701评论 0 3