【云中沙箱】视频直播技术浅析与实践!
作者:鮑天舒? 公司:上海駐云信息科技有限公司
云中沙箱,阿里云官方實驗平臺。網址:http://lab.aliyunedu.net
云中沙箱實驗,教您如何部署視頻直播平臺!
1. “快速部署低延時直播平臺之OBS”
2. “快速部署低延時直播平臺之FFmpeg”
什么是視頻直播?
?????? 隨著網民數量指數級增長,網絡帶寬環境提升,中國網絡視頻市場規模不斷擴張,直播網站如同雨后春筍般大量泉涌。
在表現形式上,視頻直播包括:現場演唱會的直播、新聞發布會的直播、奧運會的直播、電視劇的直播、個人表演show,學術論壇交流會、各類技術培訓等。
在播放形式上,用戶只要具有一個可以上網的設備,可以是電腦、手機等,無論在何處只要網絡環境允許,都可以及時地欣賞到正在直播的節目。
在技術實現上,視頻直播不需要像視頻點播一樣進行分段、轉碼、發布等一系列步驟,它可以做到節目播放的實時性。
視頻直播流程
視頻直播流程主要分為5個階段:采集;前處理;編碼;推流;分發。
1.???? 采集
采集是視頻直播的第一步,通過不同的設備,采集視頻信息:
- ?iOS 端:因為軟硬件種類不多,硬件適配性較好,因此,采集起來簡單。
- Android 端:因為市面上硬件機型非常多,難以找到一個庫適配所有硬件,因此采集起來較為困難。
- PC 端:與硬件使用的攝像頭驅動有關,推薦目前市面上最好的PC端開源免費軟件OBS。
2.???? 前處理
現在,主播行業非常火熱,同時也流行著一句話:“80%的主播沒有美顏根本沒法看。”其實,對視頻源進行處理,不僅限于美顏,還有許多其他的處理方法,例如水印,模糊特效等。針對不同的手機系統,提供不同的處理庫:
- iOS 系統: 目前,比較知名的是GPUImage 這個庫。它提供了豐富端預處理效果,還可以基于這個庫自己寫算法實現更豐富效果。
- Android 系統:使用android-gpuimage庫(由GPUImage這個庫移植),同時,Google官方開源了一個偉大的庫,覆蓋了Android上面很多多媒體和圖形圖像相關的處理。
3.???? 編碼
對視頻進行編碼時,主要的難點有2個:處理硬件兼容性問題;在高fps、低bitrate和音質畫質之間找到平衡。
- iOS 系統:硬件兼容性較好,可以直接采用硬編。
- Android 系統:硬編的支持難很多,需要支持各種硬件機型,推薦使用軟編。
4.???? 推流和轉碼
傳輸涉及到很多端:從主播端到服務器端,從收流服務器端到邊緣節點,以及從邊緣節點到觀眾端。
????? 為了讓主播推上來的流適配各個平臺端不同協議,需要在服務端做一些流處理工作,比如轉碼成不同格式支持不同協議,如:RTMP、HLS和FLV,一路轉多路流來適配各種不同的網絡狀況和不同分辨率的終端設備。
5.???? 分發
推流端和分發端,理論上需要支持的并發用戶數應該都是億級的,不過畢竟產生內容的推流端在少數,和消費內容的播放端不是一個量級,但他們對推流穩定性和速度的要求比播放端高很多,這涉及到所有播放端能否看到直播,以及直播端質量如何。
阿里云視頻直播技術
????? 視頻直播服務(LiveVideo)是基于領先的內容接入與分發網絡和大規模分布式實時轉碼技術打造的音視頻直播平臺,提供便捷接入、高清流暢、低延遲、高并發的音視頻直播服務。請參考下圖的視頻直播服務的流程:
??????????? 它具有如下功能特點和優勢:
- 推/拉流
推流:使用標準的RTMP協議;
拉流:支持RTMP、HTTP-FLV、HLS協議。
- 終端設備
支持Android、iOS、PC端直播流推送
- 轉碼
視頻分辨率,可自定義,默認是標清為480p,高清為640p。
- 自適應
SDK可根據網絡情況動態調整上行傳輸碼率
- 分發
500+節點數,覆蓋所有省份和主流營銷商
- 安全
防盜鏈,通過referer跟蹤來源,對來源進行識別和判斷,用戶可以通過配置訪問的referer黑白名單來對訪問者身份進行識別和過濾,從而限制CDN資源被訪問的情況。
URL加密,URL鑒權功能是通過阿里云CDN加速節點與客戶資源站點配合實現的一種更為安全可靠的源站資源防盜方法。
視頻加密,可對碼流進行加密,使用特殊的播放器播放。適合于低內容需要保密的場景。
阿里云視頻直播實踐
云中沙箱(http://lab.aliyunedu.net)提供一個阿里云在線自主學習的實驗平臺。豐富的實驗場景,可以讓用戶可以快速學習和實踐阿里云上各種產品。
云中沙箱提供兩個視頻直播相關的實驗,大家可以通過實驗的方式,快速掌握視頻直播的基本使用方法:
- 快速部署低延時直播平臺之OBS:通過PC端優秀的開源軟OBS,將攝像頭采集的視頻信息推送到阿里云視頻直播服務,實現在線視頻直播功能。
網址:https://edu.cloudcare.cn/courses/cd3fa99dc3784a64805b4584b8aa4cdf/detail
- 快速部署低延時直播平臺之FFmpeg:通過PC端的FFmpeg軟件,將本地存儲的視頻源推送到阿里云視頻直播服務,實現在線視頻直播。
網址:https://edu.cloudcare.cn/courses/86202d2132c841369a4ec1b258683851/detail
總結
以上是生活随笔為你收集整理的【云中沙箱】视频直播技术浅析与实践!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis中bitmap的妙用
- 下一篇: Qt Charts基本组成