我使用阿里云做直播,有什么手段保护直播安全?
摘要: 準備工作 開通阿里云直播服務:阿里云直播服務接收直播流,并提供直播播放地址,完成一場直播需要先開通阿里云直播服務,在 直播官網詳情頁 中單擊 立即開通 ,開通阿里云直播服務。 如您已經能夠使用阿里云進行直播,但還沒有進行過直播,可參考 如何使用 PC 推流。
準備工作
開通阿里云直播服務:阿里云直播服務接收直播流,并提供直播播放地址,完成一場直播需要先開通阿里云直播服務,在 直播官網詳情頁 中單擊 立即開通 ,開通阿里云直播服務。
如您已經能夠使用阿里云進行直播,但還沒有進行過直播,可參考 如何使用 PC 推流。
系統架構
由下圖可知,我們可以通過三個方面控制直播的安全。
對推流進行鑒權
對直播流的管控
對播放進行鑒權
直播鑒權
推流鑒權與播放鑒權的機制是一樣的,都是屬于直播鑒權。
鑒權原理:
用戶對加速域名設置一個密鑰,并根據將訪問阿里云的 uri、時間戳、密鑰構成的字符串進行 hash,將 hash 值以及時間戳作為請求參數的一部分,當如下兩項通過時,允許訪問該 url。
時間戳沒有超過當前時間。
服務端用同樣的 hash 算法計算 hash 值,請求參數中的 hash 值一致。
鑒權算法:
未鑒權 url:`js
http:// DomainName/AppName/StreamName.flv。
參數說明:
timestamp:失效時間,整形正數,固定長度 10,1970 年 1 月 1 日以來的秒數。用來控制失效時間。
rand:隨機數,一般設成 0。
md5hash:通過md5算法計算出的驗證串,算法(假設用戶的密鑰為 123456:md5hash=md5(timestamp-rand-0-123456)。
一個鑒權的例子:
用戶給 a.com 這個域名配置了一個鑒權密鑰:xyz,希望鑒權有效時間為:2017-07-28 05:43:20,準備用js
rtmp://video-center.alivecdn.com/live/abc?vhost=a.com
進行推流,相應的鑒權計算邏輯為:
推流
獲取推流 js uri:/live/abc。
獲取 timestamp:過期時間 2017-07-28 05:43:200 的unixtimestamp為:1501191800。
組裝加密字符串:`js
/live/abc-1501191800-0-0-xyz。
播放
播放的計算方法與推流類似,以 httpflv 播放地址為例。未鑒權的 url 為:`js
http:// a.com/live/abc.flv。
獲取 timestamp:過期時間 2017-07-28 05:43:200 的 unixtimestamp 為:1501191800。
組裝加密字符串:`js
/live/abc.flv-1501191800-0-0-xyz。
設置方法:可以在直播控制臺進行設置,控制臺中鑒權計算器,可以方便的生成鑒權 url。詳情參考 直播鑒權。
直播流管控
直播流管控針對直播推流,在直播過程中,發現直播流內容不合法,除了能夠通過終止推流停止直播以外,還能夠通過直播流管控手段,對直播流進行封禁。
進入 視頻直播控制臺,在流管理列表中可以看到加入黑名單選項。將視頻就設置黑名單后,此條流執行禁推功能,將不會在接收推流的狀態。
總結
以上是生活随笔為你收集整理的我使用阿里云做直播,有什么手段保护直播安全?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云专属月·行业深耕专项行动正式开启
- 下一篇: 曦智科技发布最新光子计算处理器PACE