- From: pingooo <ping.nsr.yeh@gmail.com>
- Date: Sat, 16 Jul 2011 19:46:36 +0800
- To: "Kang-Hao (Kenny) Lu" <kennyluck@w3.org>
- Cc: 中文HTML5同樂會ML <public-html-ig-zh@w3.org>, 周裕波 <itchina110@gmail.com>
- Message-ID: <CAD89QMm7Q1hkYvLPANULvG6Pi6xhq1doSUAmjf8Xv65jYTiVbw@mail.gmail.com>
只回應一個點: > 「Web Real-Time Communication」翻成「Web/互聯網實時通訊」可以嗎? 「互聯網」三個字是多出來的?英文裡沒有 "Internet" 這個字。 Real-time 一向是譯成「即時」,這在 real-time OS, real-time system 裡用很久了。「實時」看不懂。 所以直譯成「Web 即時通訊」就好了吧! Kang-Hao (Kenny) Lu <kennyluck@w3.org> 於 2011年7月16日下午1:35 寫道: > 之前裕波在問我 HTML5 有沒有涉及流媒體的部份,其實 WHATWG 的 HTML5 裡面有 > 點對點傳輸(PeerConnection)已經很久了,剛好幾天前 Mozilla 與 Cisco 合作 > 推出了一份新的 API,在這裡稍微整理一下各種進展。請參考: > > http://www.w3.org/html/ig/zh/wiki/WebRTC > > 有規範等等的連結。 > > 目前有兩份 API 的提案,基本上差距比起之前提到 Google 跟 Mozilla 的兩個 > Audio API 的差距[1]比起來可以說不是很大,幾項比較大的差異包括: > > * 當從遠端(PeerConnection)或是從自己的攝影機(getUserMedia)取得一個 > stream 之後,用 <video> 顯示的方式。 > > Google 版: > video.src = window.URL.getObjectURL(stream); > > Mozilla/Cisco 版: > video.stream = stream; > > 我個人是支持 Moziila/Cisco 版的,因為比較好懂而且老實說 window.URL 看起 > 來真的不太順眼。另一方的講法是這重複了 File API 的模式 > (window.URL.getObjectURL)不需要新屬性或是定義同時有 src 跟 stream 情形 > 處理方式的必要。 > > 另外,Mozilla/Cisco 版的 stream 屬性還可以用來取得 <video> 、<audio> 跟 > <canvas>(!)的串流,<canvas> + PeerConnection 就可以做沒有伺服器端的多 > 人遊戲了,十分令人興奮。請參考 Mozilla/Cisco 版規範例子「Simulcast > Video」的程式碼。 > > Google 版的規範好像沒有從元素讀出 stream 的方法(有錯請更正),我想可能 > 是該編輯(Hixie)希望先把最基本的使用案例—視訊會議—搞穩定,那份規範也比 > Moziila/Cisco 版的詳細很多。 > > * 多人 PeerConnection 的連線方式 > > Moziila/Cisco 的 PeerConnection 的 API 是用類似 Socket 的 open() > listen() accept() 模式,可以 accept() 很多使用者一次廣播。Google 版的則 > 是一個 PeerConnection 就是一對一,也就是要建立一對多連線就需要建立多個 > PeerConnection,Hixie 的解釋是 WebRTC 協定用的 ICE 不支援一對多,另外就 > 是他的設計裡面哪邊是開啟連線方,哪邊是接受連線方是自動判定的。(但是目前 > 還看不懂,徵求對 ICE、TURN、STUN、SDP 這些東西熟的朋友們解惑一下~~) > > * 其他還有像是一些小差異像是語法不同 > > Google: new PeerConection("audio, video") 跟 > Mozilla/Cisco: new PeerConnection({audio: {}, video: {}}) > > 等等,完整把的請參考[2]的討論。 > > 這裡有幾件事情是中文興趣小組可以做的: > > * 確定一下翻譯 > > 「Web Real-Time Communication」翻成「Web/互聯網實時通訊」可以嗎? > > 台灣這邊好像不太常聽到「實時」這個字眼,不過翻成「即時」好像是「即時通 > (Instant Messenger)」的 instant 不太對。 > > * 大家可以一起來翻譯在 IETF 的 WebRTC 使用案例文檔 > > 這份文件提到了一些使用 WebRTC 的協定跟 API 的情節,翻譯這份文件有助於了 > 解未來這個 API 的潛力,並且可以看看這些情節在中文世界是不是不適用。我已 > 經開了一個翻譯的地盤,仍然在我們的 wiki[3] 上,文檔的結構基本上跟 HTML5 > 很類似,就是醜了一點 :p 裕波,你說要找人翻譯流媒體相關的那就來翻這個吧! > > * 幫忙互相解惑一下,下面提一些我的問題。也歡迎多提一些更這個最新標準相關 > 的問題。 > > [1] http://lists.w3.org/Archives/Public/public-html-ig-zh/2011Apr/0064 > [2] http://lists.w3.org/Archives/Public/public-webrtc/2011Jul/0012 > [3] > > http://www.w3.org/html/ig/zh/wiki/Draft-ietf-rtcweb-use-cases-and-requirements > > == WebRTC 問題 == > > * PeerConnection.send() 的作用是?所謂的 out-of-band signaling 是什麼? > > (這可能是很基本的問題,不過如果有人能為我解惑則感激不盡) > > * 這個 API 可以拿來做點對點 IM 嗎? > > 感覺好像可以,雖然 PeerConnection.send() 是 UDP 應該不能做 IM,不過如果 > 用 STUNS 的話好像是 TLS-over-TCP 所以資料不會漏? > > 另一種可能性,有人提議 PeerConnection 裡面的參數最終會變成一個 TURN 的 > URL,像是:new Connection("turn:xxx.xxx.xx..."),那以後是不是以後有可能 > 可以直接 new WebSocket("turn:xxx.xxx.xx..")? > > * MediaStreamRecorder.getRecordedData 會得到的是該物件從出生到呼叫這個方 > 法為止的串流資料。我沒看到銷毀一個 MediaStreamRecorder 的方法,那不是代 > 表瀏覽器要一直記錄這個串流?這真的有辦法實作嗎? > > * 如果我沒搞錯的話,Google 版 2.5 節[4]之前的例 > 子,local.signalingChannel 應該是 local.processSignalingChannel 才對 > > [4] > > http://www.whatwg.org/specs/web-apps/current-work/webrtc.html#the-data-stream > > == 其他討論區 == > > * W3C WebRTC 工作組郵件群[5] > * IETF rtcweb 工作組郵件群[6] > * WHATWG 的郵件群[7]討論過很多次[8] > > [5] http://lists.w3.org/Archives/Public/public-webrtc/ > [6] http://www.ietf.org/mail-archive/web/rtcweb/current/maillist.html 點 > "rtcweb List Information" 即可訂閱 > [7] http://lists.whatwg.org/pipermail/whatwg-whatwg.org/ > [8] > > http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-March/thread.html#30873 > > > http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-March/thread.html#30941 > 直接在 [7] 的搜尋條搜索 "peer" 可以得到多年的結果 > > > 此致 > > 呂 康豪(Kenny), 中文興趣小組W3C連絡人 > 推特: http://twitter.com/kanghaolu > Google+: https://plus.google.com/112088462407783855918/posts > 新浪微博: http://t.sina.com.cn/1950042164 > >
Received on Saturday, 16 July 2011 11:47:34 UTC