WebRTC學(xué)習(xí)

WebRTC 介紹

官網(wǎng),官方的Getting Started。
Google關(guān)于WebRTC的幻燈片

然后是WebRTC的SPEC:
https://www.w3.org/TR/webrtc/
WebRTC項(xiàng)目源碼地址:https://chromium.googlesource.com/external/webrtc。

Native開發(fā)文檔:https://webrtc.org/native-code/development/。

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

維基百科對(duì)WebRTC的介紹:https://en.wikipedia.org/wiki/WebRTC

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

20170331補(bǔ)錄,官方 native api 文檔,很好解釋了 native 的流程:https://webrtc.org/native-code/native-apis/

20170428補(bǔ)錄,webrtc-internals 的詳細(xì)介紹:http://testrtc.com/webrtc-internals-parameters/。對(duì)應(yīng)的中文翻譯:https://segmentfault.com/a/1190000008178082

教程
入門的,首選codelabs的Real time communication with WebRTC:

https://codelabs.developers.google.com/codelabs/webrtc-web
然后是html5rocks上的基礎(chǔ)教程:

https://www.html5rocks.com/en/tutorials/webrtc/basics/
開發(fā)文檔、入門教程,參考這里:

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,是一個(gè)人部署stun和turn server的記錄。

進(jìn)階一點(diǎn)的,看這個(gè),比較完整的介紹和實(shí)踐:

http://blog.mgechev.com/2014/12/26/multi-user-video-conference-webrtc-angularjs-yeoman/
還有這個(gè),介紹如何用WebRTC一步一步實(shí)現(xiàn)視頻會(huì)議:

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

20170331,發(fā)現(xiàn)一個(gè)很棒的入門文章:
https://hpbn.co/webrtc/
20170517, webrtchacks:https://webrtchacks.com/,有很多你意想不到的好東東。

20170524,一個(gè)賊棒的WebRTC課程,從這里訂閱:https://bloggeek.me/enroll-course/。

STUN/TURN/Signaling解決方案
WebRTC需要Signaling、STUN、TURN等Server,Google有自己的,還有很多開源的,也有收費(fèi)的。

免費(fèi)的:

Signaling Server需要自己實(shí)現(xiàn),如果你用Nodejs和Socket.io的話,比較容易做。https://codelabs.developers.google.com/codelabs/webrtc-web這里就有一個(gè)示例。
Google的STUN服務(wù)器: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,對(duì)應(yīng)的代碼,https://github.com/jselbie/stunserver
https://sourceforge.net/projects/stun/,STUN client and server
https://github.com/coturn/coturn,C++實(shí)現(xiàn)的STUN和TURN服務(wù)器,這里有一個(gè)安裝指南:https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html
這里有一個(gè)WebRTC服務(wù)器搭建的文檔: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。

收費(fèi)的解決方案:

https://www.onsip.com/blog/webrtc-server
開源示例
還有一些開源的示例代碼,這個(gè)比較全了:

https://github.com/webrtc/samples
對(duì)應(yīng)的demo在這里(Chrome打開可以看效果):

https://webrtc.github.io/samples
回退一級(jí),還有更多資源:

https://github.com/webrtc
還有一個(gè),SimpleWebRTC:

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

https://github.com/mgechev/angular-webrtc
嗯,接下來(lái)這個(gè)更贊,支持多人視頻會(huì)議,開源的:

https://github.com/jitsi,對(duì)應(yīng)的演示地址https://meet.jit.si/
世界上第一個(gè)基于HTML5的SIP客戶端:https://www.doubango.org/sipml5/。他們的GitHub主頁(yè):https://github.com/DoubangoTelecom/doubango。

2016.11.10補(bǔ)充

又找到一個(gè)國(guó)內(nèi)的小示例,WebRTC實(shí)現(xiàn)網(wǎng)頁(yè)版多人視頻聊天室:http://www.cnblogs.com/FuzhePan/p/3899551.html。看樣子是多人聊天室,一對(duì)一視頻的實(shí)現(xiàn)。

還有一個(gè)WebRTC native demo:http://sourcey.com/webrtc-native-to-browser-video-streaming-example/,能夠在C++的客戶端和瀏覽器之間視頻通信。

20170602,兩個(gè)相關(guān)的項(xiàng)目:

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

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/,多人的視頻會(huì)議
圍繞WebRTC的框架和服務(wù)
框架,視頻通信的:

https://github.com/webrtc/adapter,封裝了瀏覽器差異
https://github.com/henrikjoreteg/SimpleWebRTC,前面說(shuō)過(guò)這個(gè)鏈接了
https://github.com/priologic/easyrtc
https://github.com/webRTC/webRTC.io
Peer間傳遞數(shù)據(jù)的:

http://peerjs.com/
https://github.com/peer5/sharefest
服務(wù):

http://www.tokbox.com/
http://www.vline.com/
RTCMultiConnection,JS封裝庫(kù)和Signaling服務(wù):

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
背景及相關(guān)的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等網(wǎng)絡(luò)背景,非常值得推薦:https://github.com/rainzhaojy/blogs/issues/4。還有這篇也不錯(cuò):https://github.com/rainzhaojy/blogs/issues/6。作者的系列博客:https://github.com/rainzhaojy/blogs/issues。

added, 2017-03-08

20170331,看了關(guān)于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/

來(lái)源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • WebRTC 學(xué)習(xí)報(bào)告 O_禾火_O[http://www.itdecent.cn/u/44dd44d945dd...
    小杰的簡(jiǎn)書閱讀 3,190評(píng)論 1 1
  • 1、在大學(xué)確定自己的興趣愛(ài)好對(duì)未來(lái)的人生很重要 大部分的大學(xué)生都有自己的興趣愛(ài)好,比如寫作,比如攝影,再比如畫漫畫...
    戴日強(qiáng)閱讀 738評(píng)論 1 3
  • 我一直覺(jué)得,RAC是仿佛已經(jīng)被遺忘的話題,擅長(zhǎng)的人已經(jīng)把它化為內(nèi)力,不擅長(zhǎng)的早已忘記這個(gè)技術(shù)的存在,這個(gè)暫且按住不...
    daixunry閱讀 4,788評(píng)論 0 11
  • 孩子,最能堅(jiān)持的是什么,那就是:媽媽,給我講故事。這是我想了兩天都在想,我們家孩子可以堅(jiān)持很久的就是這個(gè)。...
    LEE婷閱讀 297評(píng)論 2 0
  • iOS10正式版發(fā)布之后,網(wǎng)上各種適配XCode8以及iOS10的文章滿天飛。但對(duì)于iOS10適配遠(yuǎn)程推送的文章卻...
    坤坤同學(xué)閱讀 742評(píng)論 0 3

友情鏈接更多精彩內(nèi)容