2020 年 6 月,Cloudflare TV 首次亮相:這是一個全年無休、全天播送的串流媒體頻道,話題主要圍繞建設更好的網際網路 (以及為這個目標而奮鬥的人),目前總共播出了 1,000 多期直播節目。今天我們很榮幸宣佈:用於打造 Cloudflare TV 的技術也將開放給所有想要自己經營全年無休串流媒體網路的其他企業。但在此之前,先來回顧一下我們自己是如何經營這一服務。

讓我們從頭說起。

從可以想到的每個角度來看,Cloudflare TV 最初是一個實驗,我們希望透過它捕捉在彼此相隔甚遠的人之間進行當面交流的緣分。不久之後,我們發現得到了一個特別的成果。Cloudflare 團隊踴躍現身於幕前,展現各式各樣天賦與才能,他們也在過程當中享受許多樂趣。Cloudflare TV 成為一個虛擬閒談之地,如同實境節目般刺激。

Cloudflare TV 的一個精彩之處是它的內容廣度。自開辦以來,CFTV 播出了 1,000 多期現場節目,內容包括知名客戶與 VIP 嘉賓互動、競賽節目、DJ 秀等。Cloudflare 的員工資源團隊主持了數百期節目來介紹他們獨特的經歷,與新一代技術領導者分享豐富的建議。總的來說,我們邀請了 650 多名 Cloudflare 員工和見習生以及 500 多名外部嘉賓參與節目,其中包括 Intel CEO Pat Gelsinger、Gradient Ventures 董事 Bonita Stewart、Broadcom 技術長 Andy Nallappan 以及 Zendesk 資深副總裁 Christina Liu 等。

收看精彩節目,體驗極客樂趣:閉路電視的蒙太奇

這裡是 Cloudflare TV,所以我們節目的重點當然是技術內容,供各類型的觀眾欣賞。當我們在 Cloudflare 部落格上公佈新的產品或通訊協定時,當天也會在閉路電視上推出直播節目,由編寫新發產品程式碼的工程師分享心得。每個星期,我們也會播出相關的劇集,介紹加密技術、如何編寫程式碼、介紹驅動 Cloudflare 覆蓋全球 250 多個城市的網路的硬體。

不論您是剛聽說 Cloudflare TV,還是早就成為忠實觀眾,我們都歡迎您造訪剛發佈的Discover page (探索頁面),在那裡可以找到許多最受歡迎節目的隨選影片,例如 Latest from Product and Engineering (產品與工程最新資訊)、家長最愛的節目 Silicon Valley Squares ,以及介紹技術行業女性領袖的 Yes We Can。您還可以瀏覽即將播出的直播節目,並輕鬆將它們新增到日曆中。

我們方向正確、大有前途的明證之一就是我們收到的回饋,不僅來自觀眾的意見,也包括許多公司的反響,他們迫切想要知道我們使用哪一個平台來播放閉路電視。以前,我們的回報只有表達誠摯的謝意,但從今天開始,我們有更加令人興奮的事可以分享。

但首先,我們來看一看幕後。

製作技術的堆疊

我們最初開辦 Cloudflare TV 並不是從零開始的。我們探索了幾個可用的方案,很快發現只有少數解決方案是為 24 小時全年無休線性串流而設計的,其中已最佳化、能由一個分散於全球各地的團隊進行管理者更是少之又少。幸運的是,在 Cloudflare,我們喜歡創新新。

我們的工程師風風火火地構建了自己的系統,盡可能利用開源項目,還不存在的就自己創造。主要構成部份有:

  • Brave (BBC) — Brave 是一個開源專案,名稱來自 Basic Real-Time Audio Video Editor (基本即時影音編輯器) 的首字母縮寫,這名稱不言自明。它作為 Cloudflare TV 的總機,讓我們能根據播送時間表,從直播內容自動跳轉到商業廣告,再跳回到預錄節目。按照 BBC 所說,Brave 的唯一問題是,它是一個原型,自 2018 年起從未更新過……
The CFTV Switchboard (Now streaming: Latest from Product & Engineering)
CFTV Switchboard (正在播送:產品與工程最新資訊)

Zoom — 在最初設計 Cloudflare TV 時,我們的最高指導原則是必須要簡單易用。如果上節目的人必須安裝瀏覽器外掛程式或不熟悉的 App,我們就會失去很多機會,特別是外部嘉賓。Zoom 成為一個顯而易見的答案,它具備 RTMP (即時訊息傳送通訊協定) 廣播功能,能夠在 Cloudflare TV 上無縫推送即時內容。大多時候,參與閉路電視節目就像加入 Zoom 會議一樣簡單。

  • Cloudflare Workers — 簡單說來,沒有 Cloudflare Workers,Cloudflare TV 就不會存在。Workers 將平台的各個分散單元黏合,處理身分認證和應用程式邏輯,將資料從後端安全地中繼到前端,並提升整個網站的 SEO (搜尋引擎最佳化)。它是我們首先想到的工具,通常也是我們唯一需要的工具。
  • Cloudflare Stream — 我們的內容庫包含 1,000 多集節目,因此有許多資源需要管理。幸好 Stream 能夠將它簡化:節目上傳後自動轉碼為適當的位元大小,我們也在整個平台上使用 Stream 嵌入工具來驅動視訊點播。我們還使用 Stream API 將節目錄影傳送到後端總機,可以與直播節目同時無縫重播。
  • Cloudflare for Teams — Cloudflare TV 當然是面向公眾的,但有一系列儀表板和管理介面只能由 Cloudflare 團隊的特定成員存取。幸好我們有 Cloudflare for Teams 套件 (包括 Cloudflare Access),可以輕鬆地設定自訂規則集,讓一切得到妥善保護,而且沒有笨重的 VPN 或身分認證障礙。

我們得到工程師的一點幫助

我們從一開始便知道,光是上節目者能輕鬆使用 Cloudflare TV 尚不足夠。它需要能夠透過一個規模相對小的團隊來運作,而且團隊需要能夠遠距工作,大多數成員還要同時承擔其他職責。

我們向 Cloudflare 的辦公室和管理層發出了特別請求,他們的職分因為疫情受到了巨大影響。他們全都挺身而出,擔任 Cloudflare TV 製作人的角色,提供技術支援、安撫緊張情緒,並且促成我們的每一次直播。我們的成功離不開他們,這也是我們希望的。

儘管如此,經營一家電視台牽涉到許多工作,我們別無選擇,只有盡可能提高平台效率,自動化解決我們的痛點,並且開發直觀易用的管理工具來支援我們的團隊。以下總結了一些提高系統效率的關鍵因子:

Auto-Switcher —閉路電視的節目表每週 (包括週末在內) 有數百則節目,如果需要手動切換,那就會障礙重重。幸運的是,系統基本上以自動導航方式來運行。這不是簡單的播放清單:每一分鐘,在 Cloudflare Workers 上運行的程式與閉路電視後端同步,將錄影和接下來輸入的節目排程,刪除已播出的節目。即便我們休假一個星期,Cloudflare TV 也能繼續正常播出。

Auto-Scheduler 自動排程—若需要人工編排閉路電視內容排程 (每週超過 250 個時段),這很快會從好玩的活動變成變態的任務。到第二週,我們就意識到必須尋找別的出路。Auto-Scheduler 自動排程隨之誕生,我們可以選擇任意時間段,填充上我們內容庫中的錄影,以填補直播時段之間的空檔。

時段可以拖放、添加和移除,點選幾下就行;只需不到一小時,一個人就能編排一整個星期的節目。自動排程會智慧輪播節目庫中的每一集內容,確保它們全部播出。而且,它還有很大空間進一步智慧化。

Broadcasting Center — Cloudflare TV 的命脈是我們的直播時段,所以我們當然會花費許多時間,盡力改進上節目者的體驗。Broadcasting Center 播放中心是他們的基地:這個頁面會為每期節目的主持人自動載入,同時提供倒數計時和其他工具。觀眾互動是直播節目與眾不同的關鍵所在,所以播放中心還提供了一個觀眾提問區塊,包括觀眾來電功能,可記錄並自動將觀眾透過電話提出的問題轉成文字。

Broadcasting Center — Presenter View
Broadcasting Center 播放中心— 主持人視圖

此外,我們的閉路電視製作人使用這個工具內的管理視圖,在每次直播開始前進行檢查,確保串流能夠清晰地傳送進來。在必要時,他們可以利用一套管理控制項進行故障排除,還可以對觀眾提問進行監管。

對於製作人和上節目者,Broadcasting Center 播放中心提供了一個簡單的控制台來管理直播節目。容易使用這一點,對於系統可以透過一個精簡的團隊順利運作,幫助甚大。

Broadcasting Center - Admin View
Broadcasting Center 播放中心—管理視圖

有續集嗎?當然。

我們之所以投入力量經營 Cloudflare TV,原因之一是它能充當一個不錯的自我測試平台。我們不僅利用許多 Cloudflare 媒體產品,而且在 24 小時全年無休線性播出內容的刺激下,我們成為特別挑剔的客戶,完全不接受時間限制或維護停機等獨斷的約束。

有鑑於此,我們將整合 Cloudflare 本周發佈的新技術,用它們來推出一個全面改造的閉路電視平台,即我們口中的 Cloudflare TV 2.0。具體包括:

  • Real Time Communications Platform 即時通訊平台 — Cloudflare 在今天公佈了由 WebRTC 驅動的全新Real Time Communications Platform 即時通訊平台。不久之後,Cloudflare TV 將利用這個平台來處理我們的許多直播節目。閉路電視將繼續支援 Zoom、OBS 和所有能夠輸出 RTMP 串流的其他應用程式,因為便利是幫助上節目者與平台互動的最重要的支柱。但我們還有進步空間,借助 Cloudflare 即時通訊平台能自訂程式控制媒體串流,讓我們的創造力上升到新的高度。
  • Stream Live —閉路電視的後端伺服器目前處理我們直播內容的視訊編碼、生成串流並中繼到 video.js 嵌入中。將這種設置替換為 Stream Live 會產生諸多關鍵效益:首先,我們可以將視訊編碼卸載到 Cloudflare 的全球網路,從而提高速度、可靠性和冗餘。其次,我們也能以不同位元速率生成廣播內容的多個版本,因此能為頻寬有限的行動裝置提供最佳化的串流,並且隨著使用者網路條件變化而切換不同的位元速率。
  • Stream Connect — 目前,收看 Cloudflare TV 的唯一途徑是平台的主頁,但我們沒有理由不同時發佈到 YouTube 等其他流行視訊平台。Stream Connect 將成為我們後端混頻器的主要端點,它將生成串流的多個副本,輸出到 YouTube、主要播出頻道和任意數量的其他平台。

我們也在努力開發總機的全新執行,以提高可靠性、擴充性和客製化。這個總機將驅動 Cloudflare TV 2.0 的核心。

不是一般的電視,而是 Cloudflare TV。

Cloudflare TV 2.0 將是平台的一大進步,利用我們一年來獲得的見解由內而外重新架構系統,並且充分發揮 Cloudflare 網路的優勢。另外,我們也把您放在心上:同樣的技術將用於驅動 Cloudflare TV 即服務。

Cloudflare 的大多數產品設計,都是能從個人一直擴充到規模最大的企業。但這產品不包含在內。經營 24 小時全年無休串流媒體網路需要花費許多時間和精力。雖然我們盡可能讓它簡單易用,但它是一款針對企業而設計的產品,適合那些願意像 Cloudflare 一樣履行使命的企業。如果您是其中之一,我們會告訴您,經營串流媒體服務的回報非常好,我們也願意讓更多企業獲得回報。

感興趣?請填寫此表;如果您是合適的企業,我們會與您連絡,並與您一起打造您自己的流媒體服務。

另外,請不要忘了 Stream Live 和全新的 Real Time Communications Platform 即時通訊平台。沒有任何理由不馬上開始建構。

在 Twitter 上討論 在 Hacker News 上討論在 Reddit 上討論

生日週 Cloudflare TV Cloudflare Stream 產品新聞