2012-10-27 128 views
2

我的遊戲基於Flash,並使用RTMP向玩家發送實時視頻。視頻應該從單個位置傳輸到許多客戶端,而不是客戶端之間。 端到端的視頻流應該具有非常低的延遲,小於0.5s是最基本的要求。Windows 8低延遲視頻流

使用服務器和客戶端上的許多調整,我能夠實現約。在環回網絡接口的情況下,RTMP和Adobe Live Media編碼器的延遲爲0.2秒。

現在的問題是將項目移植到Windows 8商店應用程序。本地Windows 8爲IIS + http://playerframework.codeplex.com/提供流暢的流媒體擴展,適用於兼容實時流媒體播放的播放器+視頻編碼器。就編碼器而言,現在我只測試支持實時流暢傳輸的Microsoft Expression Encoder 4。 儘管在播放器端使用了msRealTime屬性,但延遲非常巨大,我無法通過調整編碼器使其小於6-10秒。不同的消息來源指出,流暢的流媒體並不是低延遲視頻流場景的選擇,而且使用Expression Encoder 4似乎無法通過任何設置組合實現低延遲。有支持Smooth Streaming的硬件視頻編碼器,像Envivio公司或數字急流的,但是:

  1. 他們是昂貴
  2. 我不知道在所有的,如果他們能顯著提高編碼器端延遲,相比到表達式編碼器
  3. 即使他們可以消除編碼器的時間,其餘的流暢的流媒體(IIS端)能否支持所需的速度。

問題:

  1. 什麼技術可以,可以用來流與一秒的延遲Win8的客戶如果有的話?
  2. 你知道與win8兼容的玩家還是可以輕鬆移植到支持rtmp的win8嗎?

此外, Build 2012的實時翻譯在桌面模式下使用Rtmp和Smooth Streaming。在Metro模式下,它使用RTMP和Flash Player for Metro。

回答

0

我可以確認Smooth Streaming不會成爲您選擇的技術。在完美條件下最好的情況下,你將得到的最好時間是幾秒鐘(絕對最小延遲本身就是塊長度,即使其他部分都有0延遲)。

我認爲最有可能的是RTSP/RTMP或類似的使用UDP是你最好的選擇。我認爲視頻會議技術不僅僅是廣泛的受衆流媒體技術。如果我沒有記錯的話,那裏有幾個.NET組件可以處理用於視頻會議的RTSP H.264 - 如果我稍後可以找到它們,我會在這裏發佈。

+0

謝謝,感謝您的任何鏈接。我現在知道的唯一可能的解決方案是Win8開發中心的「實時通信示例」。但它沒有記錄,並在我的機器上崩潰。 –