WebRTC 介紹
官網在這裡:https://webrtc.org/。然後這裡有一個官方的Getting Started:
https://webrtc.org/start/。 Google關於WebRTC的幻燈片:
http://io13webrtc.appspot.com/ 然後是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 還找到一箇中文版的教程,通過WebRTC實現實時視訊通訊: 通過WebRTC實現實時視訊通訊(一) 通過WebRTC實現實時視訊通訊(二) 通過WebRTC實現實時視訊通訊(三) 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://code.google.com/archive/p/telepresence/ - https://github.com/webRTC/webRTC.io 線上演示 蒐集了一些線上演示的示例: 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/
---------------------