跳到主要內容

為什麼電視直播比賽總是比網路快?看低延遲串流如何搶秒數

 

大多時候,你在網路上看的 Live 直播串流,其實不是與現實世界完全同步的即時轉播,先看看以下這些場景,相信對你來說並不陌生。

NBA 冠軍賽才正看到精彩處,隔壁鄰居卻突然爆出一陣歡呼,原來,用電視觀賞同一場比賽的他們,比你早 30 秒歡呼慶祝三分球入網,不小心點開社群媒體,更發現朋友們早已發文熱烈討論比賽結果。

就像電影被暴雷一樣,少了即時參與的驚喜感、提早知道結局,觀看直播活動的樂趣頓時大打折扣。

或是,收看跨年演唱會時,正當你興高采烈倒數最後 30 秒時,才發現,窗外的慶祝煙火已經此起彼落,大家都已經跨入新的一年,只有你還停留在前一年。

雖然從絕對時間來看,這些狀況都僅有延遲短短幾秒鐘,但在體感上,觀賞體驗卻大受影響,用「失之毫釐,差之千里」來形容再恰當不過。

使用直播串流時,為什麼你的世界總是比別人慢幾秒?原因正是「串流延遲」。

從攝影機到觀眾螢幕的層層關卡

串流延遲,指的是攝影機拍到影像後,直到觀眾端螢幕出現畫面的時間差。

一般來說,有線電視直播約延遲 5 到 10 秒,而 YouTube、LINE、Twitch 等多數 OTT 平台,延遲大多介於 15 秒至 30 秒,距離延遲秒數低於 3 秒的「超低延遲」(Ultra Low Latency)標準,還有一大段距離,這也讓現有直播內容的互動效果有限。

但想克服延遲並不容易,光是一段畫面要從現場攝影機,傳到電腦和手機螢幕,中間所需流程多到難以想像。

KKStream 執行副總李卓軒 Kevin C.H. Lee 解釋,這流程大致包含一開始的攝影機收取影音訊號,接著需轉換訊號、傳輸、上傳雲端、加密、備份,傳到終端裝置後再解碼,最後才是播放。

這整段「螢幕到螢幕」的過程,就像是將包裹從A點運送到B點,只要中間有幾個環節耽誤,就會讓整體運送時間不斷疊加。「每個步驟都要優化,只要有個點延遲很高,加總起來就無法達到超低延遲的標準,這需要很強的技術掌控力。」Kevin 說。

另一個挑戰則在於,由於各大終端裝置原廠(如Apple、Google)雖然有提供低延遲串流相對應的規範,但並未說明實際的執行細節,因此串流技術業者只能自己摸索。

受限於技術瓶頸,目前大多數的直播串流服務,只能在延遲、直播規模和影像品質三者間取捨。例如,常見的視訊會議軟體,像是 Zoom、Google Meet,雖然延遲相對低,但參與人數上限遠低於大規模直播,或者是,若想追求更低的延遲秒數,就得犧牲畫質。

突破魔王關 延遲縮至 2.5 秒,兼顧大規模與高畫質

套句網路哏:「小孩才做選擇,大人全都要!」想要同時實現超低延遲、直播規模和影像品質,現在終於成為可能。

KKStream 研發的超低延遲直播串流技術,可以將延遲控制在 3 秒內,在封閉測試期間更穩定在 2.5 秒之間,比有線電視直播還快,參與人數可支援上萬人同時在線,還能同時保有至少 1080P 的高畫質。

另一大殺手鐧則是數位版權管理技術(DRM,Digital Rights Management ),指的是 KKStream 能替直播影音做到內容保護和加密,並依照需求設定不同的保護等級。例如,要登入帳號才能觀看影片,甚至可根據帳號登入地區、播放裝置等資訊來判斷是否能播放內容。

Kevin 分享,除了 KKStream,目前市面上幾乎看不見同時具備超低延遲和內容保護的直播串流服務,因為要替內容加密,等於又要多做一個動作,也增加影片處理所需時間,再度墊高技術門檻。

而 KKStream 之所以能做到,來自早期的累積。最早,KKStream 從隨選視訊(VOD,Video-On-Demand)起家,並隨著相關專利和技術累積,才逐漸將觸角延伸至直播串流。

因為基本功做得夠紮實,讓 KKStream 無須從頭研發數位內容保護、影片編碼等技術,而是能將注意力集中降低延遲,「如果沒有前面的累積,你一次要面對八個問題,真的不知道哪個最重要。」

只是,回想當初想將延遲從 3.5 秒減少到 3 秒的「魔王關」,光是這 0.5 秒的改善,就讓 KKStream 卡關許久。Kevin 解釋,挑戰在於各大廠的終端裝置的播放器就像一個「黑盒子」,開放的資料不夠多,很難找出問題在哪、該調整哪裡,只能不斷嘗試各種可能。後來,KKStream 因長期累積的自主研發力,得以將自研的播放器調校到能適用於各種平台,進而改善延遲問題。

相比直接導入外部技術,自主研發看似得耕耘更久、繞更遠的路,但卻讓 KKStream 比其他人更快到達目的地。

新應用正在毫秒的進步中誕生

疫情帶動低延遲直播串流的需求,除了電競、運動賽事、演唱會直播、線上競標等原本就講求即時的影音內容,新的應用場景也開始浮出水面。

Kevin 分享,已有日本電影動畫工作室找上門,想透過低延遲串流技術,解決遠距工作協作的需求,包含動畫畫面能在低延遲的狀態下用高畫質播放,同步即時分享、修改和討論,最後也能將過程用影片記錄下來並加密保護,避免內容外流。「他們告訴我們,希望這服務一上線,就能立刻用!」他說。

當直播內容能被加密保護,新商業模式也應運而生,例如,遊戲直播平台也能推出付費會員才能收看的獨家內容,並讓該內容能留在平台內。

可以想見,隨著直播串流的應用場景越來越多,觀眾對內容的要求也更高,永遠都在追求更好的畫質、更豐富的互動,以及更少的等待時間。就跟百米賽跑運動員一樣,直播串流技術也持續以突破現有紀錄、追求更快為目標,相信未來將有更多新服務和應用,在這幾毫秒的進步中,加速誕生。

KKStream 熱情招募中,歡迎軟體高手加入串流產業,邁向世界!

官方網站:https://www.kkstream.com/zh
Facebook:https://www.facebook.com/KKStream.tv
職缺情報:https://careers.kkcompany.com/#kkstream

留言

這個網誌中的熱門文章

利用 Jitsi 建立個人化的視訊會議平台

  近期因為疫情的關係,越來越多企業開始實施分流或在家工作,視訊會議的需求也日益增加。 在商用解決方案選擇上,有不少企業會選擇知名品牌的產品,例如  Cisco Webex 、 Google Meet 、 Microsoft Teams 、 Zoom  都是很不錯的方案。 KKBOX 集團在去年便試行及做好充分 work from home 的準備,今年五月也因應疫情升溫,全員 work from home 至今兩個月有餘。 當然,取之 Open Source,也要對社群有些貢獻。在這一屆 COSCUP,我們要來介紹 Open Source 圈中也很知名,效果也很不錯的一套視訊會議平台: Jitsi 。 除了基本的視訊會議功能外,在最後我們也會示範如何透過 Jitsi 畫面輸出到 YouTube/Twitch 或其他支援 RTMP 的平台進行直播。 由於篇幅有限,且 Jitsi 可以調整的細節非常多。今天我們純粹很快速的示範,如何簡單的建置出一個 Jitsi 環境,並提供單場會議內容錄影或直播。 Jitsi 的文件可以在 這裡 找到。 今天透過 AWS Lightsail 的 $10/month instance(1 core CPU + 2GB RAM + 60GB SSD),作業系統則是 Ubuntu 20.04 來示範。當然,使用其他 VPS 亦可,大同小異,這邊直接跳過 VPS 相關的建置過程。 *firewall 相關資料參考 這裡 及 這裡 。 針對系統做必要的更新 基本的 apt repository 更新: $ sudo apt update 因為後面要示範的會議錄影及直播需要使用 ALSA loopback device,如果是 EC2 or Lightsail 則需要額外安裝 generic kernel( 註 ): $ sudo apt install linux-image-generic linux-headers-generic linux-image-extra- virtual 接著做系統套件們的更新: $ sudo apt dist-upgrade $ sudo apt autoremove 如果是 AWS EC2 or Lightsail 則需要另外再將預設的 AWS optimized kernel...

鑽石級贊助商 - KKBOX 帶你打造具備 NLP 功能的 Telegram Bot (上)

打造具備 NLP 功能的 Telegram Bot(上) 最近因為一些契機學了 Python 3,用它做了一個 Telegram Bot ( GitHub 連結 ),裡面用到 NLP Service,用上下兩篇文章記錄一下實作過程還有眉角。上篇首先教大家如何做一個最基本的回聲 Chatbot,接下來我們可以透過 NLP 服務,讓 Chatbot 根據使用者不同的訊息做回答,這樣就變成更加人性化的聊天機器人囉! 使用的工具及服務: Python 3 (for develop) pipenv (for dependency management) OLAMI (for NLP) ngrok (for testing) Step 1. Creating new bot Telegram 很有趣的地方在於,與其他通訊軟體(Line、Messenger)相比,開發者管理 Bot 的方式也是透過官方提供的一位 Bot 在處理的,它叫做 BotFather (眾 Bot 之父 XD)。如果已經有 Telegram 帳號,只要加 BotFather 為好友,就可以開始管理你的 Bot。 加入 BotFather 好友後,它會親切地問候,並告訴你他能為你提供什麼服務。 I can help you create and manage Telegram bots. If you're new to the Bot API, please see the manual ([https://core.telegram.org/bots](https://core.telegram.org/bots)). You can control me by sending these commands: /newbot - create a new bot /mybots - edit your bots [beta] /mygames - edit your games ([https://core.telegram.org/bots/games](https://core.telegram.org/bots/games)) [beta] Edit Bots /setname - change a bot's name /setdescr...

機器學習的五大實務問題:對企業的影響與相應的化解方式

Appier 首席機器學習科學家 林守德博士 正如 Jason Jennings 及 Laurence Haughton 在《以快吃慢–如何藉速度在商戰中克敵制勝》一書中指出──未來,不是大公司吃掉小公司,而是速度快的公司吃掉速度慢的公司。 從現在開始,唯有善用適當的資訊快速做出決策的企業,才能成為戰場上的贏家。 機器學習技術驅動了這場變革。無論企業是嘗試向顧客提出建議、改進生產製造流程或應對市場的變動,都能運用機器學習技術處理大量的資料,進而提高自身的競爭優勢。 然而,機器學習雖能創造大好機會,卻也同時帶來了相應的挑戰。機器學習系統需要大量的資料,以及執行複雜的運算能力。顧客期望改變、出乎意料的市場波動等等外部因素,都意味著機器學習模型的運作並不是百分之百的自動,往往仰賴許多外部的資源來作監控及維護。 此外,機器學習也有不少尚待解決的實務問題。以下將深入探討機器學習的五大實務問題,以及這些問題對企業應用會產生的影響。 1. 資料品質 機器學習系統仰賴資料進行訓練,而訓練資料在廣義上可分為「特徵」及「標籤」兩種類別。 「特徵」是輸入機器學習模型的資料,像是來自感測器、顧客問卷、網站 cookie 或歷史資訊等等。 然而這些特徵的品質可能良莠不齊。舉例而言,顧客在填寫問卷時可能會隨便填寫,或對題目略而不答;感測器可能因失靈而回傳錯誤資料;即使使用者的網頁行為明確,網站 cookie 回報的資訊也可能不完整。 此外,資料也可能包含雜訊,當無謂的資訊夾雜其中時,機器學習模型將會受到誤導而做出不正確的預測。 相較於「特徵」,「標籤」的正確性與穩定度更為重要。標籤是機器學習模型最後輸出的結果。所以需要在訓練的時間利用正確的結果教導機器學習模型。標籤的稀疏性也是個問題,這是當系統已掌握大量輸入的資料卻對輸出的結果沒有把握時出現的現象。在這樣的情況下,將難以針對該模型偵測其特徵與標籤之間的關聯性優化,甚至需要耗費額外的人力干預,將標籤與輸入資料關聯起來。 機器學習需仰賴輸入與輸出資料的關聯,才能具備足夠的泛化能力以預測未來行動並提供相關建議。因此,如果輸入資料過於雜亂、殘缺或有所偏差時,將可能難以理解某輸出/標籤的產出原因。近年來機器學習也開發出許多先進的方法如半指導式學習,轉移學習來處理這樣的問題。 2. 複雜性與品質的取捨 建立強大的機器學習模型需要大量的計算資源來處理特徵和...