使用阿里雲視頻點播服務技術的理解和加速、加密流程

一、背景

畢設搞了個影視平臺,基於vue.js和springboot前後端分離開發,我本人之前是沒有接觸過vue(還引入了桌面端組件庫Element),所以前端的部分還是花費了比較多的心思和精力,而且項目中用到了shiro作爲後臺權限管理的框架,數據庫連接則一時興起使用了寫起聯表來痛不欲生的jpa。。圖片全部存儲在七牛雲上,沒用過的可以去了解下,白嫖當的福音嘻嘻。

以上,全是沒接觸的技術,自己煞費苦心,費時費力,但還是架不住這個項目沒有亮點的事實,以至於預答辯的時候老師看到我的論文題目,直接就來了句:你這個項目可以直接運行嗎?用到的技術很常見了。

我當時瞬間慌了,,什麼??我PPT就不用講了?!

好在我心態夠穩,迅速調整並熟練的運行起了項目,到了最後正式答辯的時候,除了PPT講解的時間超了點(被老師提醒了),語速正常,表達也很順暢(只答不辯,瘋狂道歉),項目演示也沒出錯,估計能過。

二、需求

看完這裏的人應該瞭解了,我想加個視頻實時點播的功能作爲項目亮點,否則我的項目就只是基本的數據顯示和增刪改查,只體現了工作量,沒有特別突出的地方,況且大佬們都是研究人工智能和機器學習的,做項目的本身就是喫虧的,窮則思變,差則思勤。

分析了下,影視平臺的視頻點播最難克服的兩點在於:

  1. 視頻加速
  2. 視頻加密

其他什麼存儲、上傳等等都不是重點。

像很多小衆電影平臺用的cms模板建站系統,從網絡上抓取了一些資源,本身網站的加載速度巨慢,視頻的畫質又模糊,誰能忍?!

在這種平臺多停留一秒都是浪費時間。。

三、摸索

我在網上搜了遍,關於視頻服務要不就大概講了下關鍵步驟(我也看不懂,就很懵),要不就是直接讓買雲服務,畢竟現在各大雲服務平臺確實服務很到位也足夠用了。

期間有看到一些研究blog視頻地址加密的文章,通過前端js和後臺配合實現,基本的原理大概是使用二進制傳輸視頻數據,起到加密的效果,但親身實踐之後會發現,如果是長視頻,進入點播頁面之後視頻會一直在加載,體驗極差,也就是說按照這種實現方法,只能針對幾分鐘的短視頻,才能很快緩存完。

看了比較多文章後,確定自己無法實現,就決定使用雲服務了,簡單對比了下阿里雲,騰訊雲和七牛雲的視頻點播服務,然後選擇了阿里雲。

我已經忘了當初爲什麼青睞於阿里雲了,反正就埋頭淦文檔,作爲一個從沒涉及過雲點播技術的小白,這個過程還是挺喫力的,況且中間還被指導老師拉着參加了個華爲雲的鯤鵬比賽嘿嘿。

四、流程

經過了一段時間的學習(脫髮),終於總結出了阿里雲視頻vod服務的實現流程:

  1. 註冊阿里雲賬號,開通視頻點播vod服務。
  2. 購買域名,備案,cdn綁定加速。
  3. 設置轉碼模板,對視頻hls格式加密,除此之外還可以通過設置防盜鏈和黑白名單等操作進行加密,但效果幾乎可以忽略。
  4. 控制檯上傳視頻文件,數據庫存儲視頻vid,這一步可以對視頻進行分類,設置封面、水印的操作。
  5. 後臺調用API根據視頻vid生成臨時播放憑證playauth。
  6. 前端使用阿里雲的web播放器(支持自定義的播放器,需要進行一系列操作,略麻煩)綁定vid和playauth實現視頻的點播。
    在這裏插入圖片描述

開通視頻點播服務可選按流量收費和按寬帶收費兩種,根據自身情況選擇合適實惠的就可以了。

域名也有很便宜的,我選擇的是後綴名爲xyz的域名,比較麻煩的是域名的備案,我一開始嫌麻煩打算跳過這一步驟,於是我買了臺國外的服務器,不需要備案,直接cdn綁定域名加速,一開始好好的,視頻播放速度很正常,但因爲疫情的原因,畢設答辯遲遲沒有通知,導致一個多月後,我重新跑項目就發現視頻加載巨慢,已經極大影響了我演示系統。

解鈴還需繫鈴人,我重新回過頭去看cdn綁定的域名,就發現了:

使用國外的服務器確實不用備案,但是cdn綁定對應的域名的話加速服務也僅限於國外。。

最後還是緊急租了臺阿里雲的服務器,並進行備案,最終在正式答辯的前兩天備案申請通過!

五、結論

1. 加密 :當前各大平臺如慕課、B站等實現視頻加密都是使用的blog地址加密,也就是右鍵在控制檯看到的不是視頻原本的鏈接,無法盜取下載到本地。
在這裏插入圖片描述
2. 加速 :綁定域名之後開啓cdn加速,進度條可以隨意拖動,播放順暢。

————分———割———線———————分———割———線——

以上,是我這次使用阿里雲視頻點播的理解。

這裏還是要吐槽一下阿里雲控制檯的視頻上傳,雲網站因爲安全原因如果一段時間不操作,登陸狀態會很快失效。

我上傳的電影是比較大的文件,時長也普遍有1-2小時,導致上傳的過程極慢,控制檯的上傳頁面明確寫了:

可以離開本網頁,但不要刷新本頁面

那麼問題來了,我不能一直守着長視頻在上傳吧,一段時間後我重新回到控制檯就會發現登陸狀態失效了,但視頻還沒上傳完,我重新登陸這算不算刷新呢?

我試過這樣好像不能斷點續傳,上傳的進度一直在加載。。是我機器的原因?不吝賜教!!

最後,如果有人看的話,我打算把畢設的項目從零開始寫個教程,順便重構下,畢竟之前沒有技術基礎,寫出來的東西難免晦澀,很多地方沒有考慮周全,再加上目前項目本身也還有很多可以改進的地方,分享出來既是對自己的一個總結,在一定程度上也許還能幫到人,兩全其美。

——再次——分———割———線————再次——分———割———線——

首頁

在這裏插入圖片描述

點播

在這裏插入圖片描述在這裏插入圖片描述

後臺

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章