[譯] Puffer:專注擁塞控制、頻寬預測和 ABR
斯坦福大學研究小組釋出了一項新的開源研究專案Puffer,該專案致力於通過人工智慧改進網際網路傳輸與視訊流演算法。點選【 閱讀原文 】訪問Puffer官網。
文 / Doyle
由電腦科學博士生Francis Ya領導的斯坦福大學研究小組推出了一個名為Puffer的新免費直播電視流媒體服務網站。
Puffer是斯坦福大學關於使用機器學習改進視訊流演算法的一項研究:YouTube,Netflix和Twitch等服務使用的演算法型別。該研究的最終目標是發現新的演算法,以減少停頓,提高影象質量,減少啟動/通道切換,並改善自適應流。此前, 麻省理工學院電腦科學與人工智慧實驗室(CSAIL)開發的 “Pensieve”系統 ,也曾嘗試通過機器學習的方法提供更加流暢的流媒體傳輸體驗。
Puffer使用Web Media Source Extensions(MSE)來傳輸視訊。所有瀏覽器都不支援此標準,特別是iOS上的Safari不支援此標準(iOS上不允許使用其他瀏覽器引擎,這意味著無法在iPhone或iPad上觀看Puffer)。Puffer適用於Chrome和Firefox(包括Android手機和平板電腦)和Microsoft Edge。不過由於資源限制,沒有像Roku或Apple TV這樣的流媒體播放器的應用程式。
Puffer專注於三種類型的演算法:“擁塞控制”演算法,決定何時傳送每個資料,也稱為資料包,“吞吐量預測器”,預測傳送一定數量的資料需要多長時間在不久的將來通過網際網路連線,以及決定要傳送什麼質量的視訊的“自適應位元率”(ABR)演算法,以便嘗試為使用者提供不會導致失速或緩衝的最佳影象質量。
Puffer使用線上學習來生成自適應位元率(ABR)和擁塞控制演算法。從本質上講,這意味著Puffer會定期從過去的表現中學習構建未來更好的演算法。
此外,Puffe還以多種方式對視訊流問題進行了不同的處理。這些包括:
-
Puffer使用結構相似性(SSIM)代替位元率作為體驗質量測量的輸入,確保效能測量與使用者體驗更直接相關。
-
Puffer使用比大多數現有系統更密集的位元率梯形圖,允許對使用者接收的視訊質量進行更精細的控制。
-
使用websockets而不是“DASH”HTTP請求/響應對,允許連續流式視訊與客戶端請求不同步。
-
使用具有可調節調步速率的擁塞控制和直接訪問吞吐量估計,而不是在TCP之上進行所有測試。
-
擁塞控制層和應用層之間的詳細通訊,使得可以通過擁塞控制層中可用的頻寬來通知關於視訊質量的應用層決策。
-
使用非傳統訊號來訓練我們的傳輸時間預測器,例如ISP,連線型別等。
-
使用直接傳輸時間預測器(預測傳送特定編碼長度的塊所需的時間)而不是簡單地推斷單一吞吐量估計。
-
作為實際資料的函式,每天重新訓練傳輸時間預測器。
-
自動生成ABR方案的變體,並根據實際資料逐日演變。
-
使用跨不同使用者的聯合控制與分別處理每個流。
Puffer的所有研究工作都是開源的,可以在GitHub(https://github.com/StanfordSNR/puffer)上檢視。
本文參考
Jason Gurwin,“EXCLUSIVE: Stanford Researchers Launch Free TV Service To Improve Video Streaming”
原文
https://thestreamable.com/guides/live-tv-streaming/news/exclusive-stanford-researchers-launch-free-streaming-service-to-improve-video-streaming-algorithms
精品文章推薦
技術乾貨: