Red5 流媒体技术(初级了解)
推流端
推流端一般使用的軟件是OBS推流工具。這個工具就不多贅述了,用得實在很廣泛。
當然了,對于開發者而言,肯定需要的是FFmpeg 和 opencv了,FFmpeg是做音視頻編碼推流,opencv當然是用來實現美顏。
流媒體服務
流媒體服務就是實時視頻的中轉站。
流媒體服務一般而言:nginx,srs,red5等等,這個系列的后續教程會主要涉及nginx和srs。
不論是定制開發還是購買直播源碼,功能的實現始終都是重點。直播源碼雖然本身具備了一定的直播平臺功能,但是很多運營級的營銷功能還是需要單獨進行開發的。
若想實現此開源流媒體服務器,我們需要考慮諸多關鍵約束和能力。
首先就是該平臺需要具有一定伸縮性,也就是足夠的彈性。互聯網業務可以從局部擴展到很大的領域,如果我們使用開源方案則需要清晰意識到如果業務規模變大之后,現有資源與經驗能否支撐起如此大規模的服務運行,這需要很多開發者的維護與云廠商的支持。如果沒有開源平臺和云廠商的支持,那么我們只能自主搭建平臺并部署服務器。對于很多企業來說,他們不可能有能力和資源開展這么多業務,所以開源方案至關重要。
開源的前提是必須要有云計算的支持,現在能看到的CDN,包括阿里云和騰訊云等其實都支持RTMP、FLV、HLS,并且現在也開始支持WebRTC,在此基礎上擴充生成了諸多商業落地應用,具備大規模應用的能力。我們自己基于開源方案搭建平臺并將其對接到CDN上,即可妥善解決彈性問題。如果沒有云服務的加持,開源平臺的價值也無從談起。
低延遲是我們需要注意的第二點。現在視頻發展的一大趨勢是低延遲,例如TCP類的協議其延遲可達3~5秒,這不僅僅是TCP協議本身所致。而像HLS切片、播放器延遲、編碼延遲等都可能會提高延遲至8~10秒甚至更多。WebRTC通訊場景延遲一般小于一秒甚至可達400毫秒。常見的語音溝通場景延遲高于400毫秒就需要人工對兩個人的講話進行同步。
第三點是搭建的服務平臺需要具備較為出色的易用性。如Red5、NGINX-RTMP、CRTMP、Wowza、AMS、Helix等。還有一項關鍵是協議之間的互通,一個業務可能需要基于多個協議,打通其中的隔閡至關重要。若想快速部署該方案,以上三點至關重要。
(1)我們的實時音視頻中的核心技術之一是webrtc,實時音視頻應用的爆發,也使得webrtc(web real-time communication,網頁實時通信技術,技術成為了人們關注的焦點。(2)WebRTC,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的API,我們的實時音視頻主打的就是“低延時通話”
(3)您指的視頻流是指視頻數據的傳輸,例如,它能夠被作為一個穩定的和連續的流通過網絡處理。您想表達的是“直播”類產品吧,直播產品與實時音視頻的可見區別是延時高
總結
以上是生活随笔為你收集整理的Red5 流媒体技术(初级了解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器配置基础知识
- 下一篇: 王垠:如何掌握程序语言