新功能發(fā)布!丨在Cloudflare上構建屬于您的視頻應用程序

來源: Cloudflare
作者:Cloudflare
時間:2022-04-01
11097
過去,構建視頻應用程序十分困難。在錄制、編碼和播放視頻背后有許多復雜的技術。幸運的是,Cloudflare Stream分擔走了所有困難的部分,現(xiàn)在您可以輕松構建自定義視頻和流媒體應用程序。

過去,構建視頻應用程序十分困難。在錄制、編碼和播放視頻背后有許多復雜的技術。幸運的是,Cloudflare Stream分擔走了所有困難的部分,現(xiàn)在您可以輕松構建自定義視頻和流媒體應用程序。讓我們看一下,我們可以如何結合Cloudflare Stream、Access、Pages和Workers,使用極少的代碼創(chuàng)建一個高性能的視頻應用程序。

我們將構建一個受Cloudflare TV啟發(fā)的視頻應用程序。我們將提供用戶身份驗證,管理員可以上傳錄制的視頻或直播新內容。能夠使用Cloudflare服務打造自己的YouTube或Twich,這多么令人興奮!

885F5ADA-6178-4C25-8357-7FB72ADE6172.png

提取視頻列表

我們想要在應用程序主頁顯示所有視頻的列表,使用Cloudflare Stream上傳和存儲的所有視頻,之后還會有更多功能!該代碼可以更改,以僅顯示“熱門”視頻或為每個用戶選擇的視頻精選。目前,我們將使用搜索API并在一個空字符串中傳遞以返回全部。

我們將仔細檢查每個視頻,過濾掉任何私人視頻,并抽取出我們需要的元數(shù)據(jù),例如縮略圖URL、ID和創(chuàng)建日期。

播放視頻

要允許用戶從我們的應用程序播放視頻,則需要公開視頻,否則您將需要簽署每個請求。將視頻標記為“公開”可使整個過程更為簡單。然而,可能出于許多原因,您想要控制對視頻的訪問。如果您希望用戶登錄后才可播放視頻,或者想要能夠以任何方式限制訪問,可將視頻標記為“私人”并使用簽名的URL來控制訪問。您可在此處找到有關保護視頻的更多信息。

如果您在本地測試您的應用程序,或希望每天的請求數(shù)少于10,000個,您可以調用/token端點以生成一個簽名令牌。如果您希望每天超過10,000個請求,請使用JSON Web Tokens簽署您自己的令牌。

允許用戶上傳視頻

下一步是構建管理員頁面,用戶可在其中上傳他們的視頻。您可在此處找到有關允許用戶上傳的說明文檔。

Cloudflare Stream API使該過程得到了簡化。您可使用您的API令牌和帳戶ID生成一個唯一的一次性上傳URL。僅需確保您的令牌擁有Stream:Edit權限即可。我們從應用程序鉤入所有POST請求,并返回生成的上傳URL。

管理員頁面包含一個表單,允許用戶從他們的計算機拖放或上傳視頻。當一個已登錄用戶點擊上傳表單上的“提交”時,應用程序會生成一個唯一的URL,然后向其發(fā)布FormData。該代碼可有效用于構建視頻分享網站或與任何允許用戶生成內容的應用程序搭配使用。

使用Stream Live添加實時視頻

您還可以使用Stream Live,結合我們已經討論過的技術,向您的應用程序添加直播部分。您可以允許已登錄用戶開始直播,并允許其他已登錄用戶(甚至是未登錄用戶)實時觀看!直播內容將自動保存至您的帳戶,因此,當直播結束后就可以立即在應用程序的主要區(qū)域查看直播內容。

使用中間件保護我們的應用程序

我們將所有經過身份驗證的頁面都放在此中間件函數(shù)后方。它會檢查請求標頭以確保用戶正在發(fā)送有效的經過身份驗證的用戶電子郵件。

使用Pages將所有功能組合起來

我們使用Cloudflare Access來控制我們的登錄流程,使用Stream API管理上傳、顯示和觀看視頻,使用Workers來管理fetch請求和處理API調用?,F(xiàn)在,讓我們使用Cloudflare Pages將所有功能結合起來!

Pages提供一種簡單的方法來部署和托管靜態(tài)網站。不過現(xiàn)在,Pages可與Workers平臺無縫集成。使用該新集成,我們可以使用單個可讀存儲庫來部署這一整個應用程序。

控制訪問

一些應用程序更適合公開;另一些應用程序包含敏感數(shù)據(jù),應當限制向特定用戶開放。此應用程序的主頁是公開的,我們已使用Cloudflare Access將管理員頁面限制為僅向員工開放。如果您要構建內部學習服務,甚至想要推出新網站的測試版,您都可以輕松使用Access保護您的整個應用程序!

當用戶點擊我們演示網站上的管理員鏈接時,將提示他們輸入電子郵件地址。如果他們輸入有效的Cloudflare電子郵件,則應用程序會向他們發(fā)送訪問代碼。否則,他們將無法訪問該頁面。

立即登錄,閱讀全文
版權說明:
本文內容來自于Cloudflare,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家