Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久精品a一国产成人免费网站,亚州视频一区二区,久久国产精品视频一区

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          2022年使用最多的流媒體協(xié)議和技術(shù)規(guī)范

          2022年使用最多的流媒體協(xié)議和技術(shù)規(guī)范

          們將回顧一些最常用的流協(xié)議: RTMP、 RTSP、 WebRTC、 HLS、 SRT 和 CMAF


          我們將了解以下流協(xié)議,以便:

          • RTMP
          • RTSP
          • WebRTC
          • HLS
          • SRT
          • CMAF

          RTMP 實(shí)時(shí)消息協(xié)議

          RTMP 流媒體協(xié)議是 Macromedia 開發(fā)的一種基于 TCP 的技術(shù),用于在 Flash 播放器和服務(wù)器之間通過互聯(lián)網(wǎng)進(jìn)行音頻、視頻和數(shù)據(jù)的流媒體傳輸。Macromedia 于2005年12月3日被競爭對手 Adobe 收購,但隨著 Flash 在2020年逐步淘汰,它的使用越來越少地與面向觀眾的內(nèi)容交付有關(guān),而更多地是通過支持 RTMP 的編碼器將實(shí)時(shí)流攝入到平臺(tái)中。

          流協(xié)議技術(shù)規(guī)范

          • 音頻編解碼器: AAC,AAC-LC,HE-AAC + v1 & v2,MP3,Speex
          • 視頻編解碼器: H. 264,VP8,VP6,Sorenson Spark,Screen Video v1 & v2
          • 播放兼容性:不再得到廣泛支持了限于 Flash 播放器,AdobeAIR,RTMP 兼容的播放器 不再被 iOS、 Android、大多數(shù)瀏覽器和大多數(shù)嵌入式播放器所接受
          • 優(yōu)點(diǎn): 低延遲和最小緩沖
          • 缺點(diǎn): 沒有針對經(jīng)驗(yàn)質(zhì)量或可伸縮性進(jìn)行優(yōu)化
          • 等待時(shí)間: 5秒

          RTMP 變化

          • RTMP: 普通的基于 TCP 的協(xié)議
          • RTMPS: 使用安全的 SSL 連接來最小化基于云的流的風(fēng)險(xiǎn)
          • RTMPE: 使用 Adobe 的專有安全加密,并且是比 RTMPS 更輕量級的加密層
          • RTMPT: 用 HTTP 封裝以繞過防火墻和公司流量過濾
          • RTMFP: 使用 UDP 代替 TCP

          RTSP 實(shí)時(shí)流協(xié)議

          RTSP 建立并控制單個(gè)或多個(gè)時(shí)間同步的連續(xù)媒體流,如音頻和視頻。RTSP 本身通常不提供連續(xù)的流,盡管可以將連續(xù)的媒體流與控制流交織在一起。換句話說,RTSP 充當(dāng)多媒體服務(wù)器的“網(wǎng)絡(luò)遠(yuǎn)程控制”。

          由于大多數(shù) IP 攝像頭仍然支持 RTSP,它仍然是監(jiān)控和閉路電視系統(tǒng)中使用的標(biāo)準(zhǔn)。

          RTSP 技術(shù)規(guī)格

          • 音頻編解碼器: AAC,AAC-LC,HE-AAC + v1 & v2,MP3,Speex,Opus,Vorbis
          • 視頻編解碼: H. 265(預(yù)覽) ,H. 264,VP9,VP8
          • 播放兼容性:不被廣泛支持,很少用于播放(Quicktime Player 和其他 RTSP/rTP 兼容播放器,VideoLAN VLC media Player,3gpp 兼容移動(dòng)設(shè)備)
          • 優(yōu)點(diǎn): 低延遲和無處不在的 IP 攝像頭
          • 缺點(diǎn): 沒有針對經(jīng)驗(yàn)質(zhì)量和可伸縮性進(jìn)行優(yōu)化
          • 延遲2秒

          RTSP 變化

          • 整個(gè) RTP 堆棧
          • 實(shí)時(shí)控制協(xié)議
          • RTSP 通常被稱為 RTSP

          網(wǎng)絡(luò)實(shí)時(shí)通信

          WebRTC 代表 Web 實(shí)時(shí)通信,它是一個(gè)非常令人興奮的、強(qiáng)大的、具有高度破壞性的尖端技術(shù)和流協(xié)議。

          它與 HTML5兼容,你可以使用它直接在瀏覽器和設(shè)備之間添加實(shí)時(shí)媒體通信。另外,你可以做到這一點(diǎn),而不需要在瀏覽器中安裝任何必備的插件。它正逐漸得到所有主要的現(xiàn)代瀏覽器供應(yīng)商的支持,包括 Safari、 Google Chrome、 Firefox、 Opera 和其他瀏覽器。

          感謝 WebRTC 視頻流技術(shù),您可以直接將實(shí)時(shí)視頻嵌入到基于瀏覽器的解決方案中,為您的受眾創(chuàng)建一個(gè)迷人的互動(dòng)流體驗(yàn),而不用擔(dān)心延遲。

          流協(xié)議特性

          • 超低延遲視頻流-延遲是0.5秒
          • 與平臺(tái)和設(shè)備無關(guān)
          • 先進(jìn)的語音和視頻質(zhì)量
          • 加密語音和視頻
          • 很容易縮放
          • 適應(yīng)網(wǎng)絡(luò)條件
          • 數(shù)據(jù)通道

          優(yōu)點(diǎn)

          • 簡單,基于瀏覽器的貢獻(xiàn)
          • 對等點(diǎn)直接打開彼此之間的連接
          • 低延遲并支持500毫秒交付的交互性
          • 可以在某些用例中端到端使用

          缺點(diǎn)

          • 不是廣播質(zhì)量流的最佳選擇,因?yàn)槟承┨匦灾С纸咏鼘?shí)時(shí)的傳輸

          HLS (HTTP Live Streaming)

          HLS 是一種基于 HTTP 的自適應(yīng)協(xié)議,用于將視頻和音頻數(shù)據(jù)/內(nèi)容從媒體服務(wù)器傳輸?shù)浇K端用戶的設(shè)備。

          合肥光源于2009年由蘋果公司創(chuàng)建。蘋果發(fā)布 HLS 的時(shí)間與傳奇設(shè)備 iPhone3差不多。早期的 iPhone3有直播播放問題,蘋果希望通過 HLS 解決這個(gè)問題。

          Features of HLS Video Streaming Protocol

          • 字幕
          • 快進(jìn)和倒帶
          • 音頻和視頻交替播放
          • F備用方案
          • 定時(shí)元數(shù)據(jù)
          • 插入廣告
          • 內(nèi)容保護(hù)

          HLS Technical Specifications

          • 音頻編解碼器: AAC-LC,HE-AAC + v1 & v2,xHE-AAC,無損蘋果,F(xiàn)LAC
          • 視頻編解碼器: H. 265,H. 264
          • 播放兼容性: 它是為 iOS 設(shè)備創(chuàng)建的,然而,現(xiàn)在所有的 Google Chrome 瀏覽器,Android,Linux,Microsoft 和 macOS 設(shè)備; 一些機(jī)頂盒,智能電視和其他播放器支持 HLS,因?yàn)樗且粋€(gè)通用協(xié)議
          • 優(yōu)點(diǎn): 支持自適應(yīng)比特率、可靠性和廣泛支持
          • 缺點(diǎn): 視頻質(zhì)量和觀眾體驗(yàn)優(yōu)先于延遲
          • 延遲: HLS 允許我們有5-20秒的延遲,但是低延遲的 HLS 擴(kuò)展現(xiàn)在已經(jīng)被合并為 HLS 的一個(gè)特性集,承諾提供2秒以下的延遲

          安全可靠的傳輸

          SRT 是一種開源技術(shù),用于在不可預(yù)測的公共網(wǎng)絡(luò)上進(jìn)行可靠且低延遲的流媒體傳輸。它直接與 RTMP 和 RTSP 競爭,作為第一英里的解決方案,但仍被采用作為編碼器,解碼器和播放器添加支持。SRT 在2020年的一個(gè)互動(dòng)用例被證明是第一個(gè)虛擬 NFL 草案ーー確保高質(zhì)量的流媒體和在任何有互聯(lián)網(wǎng)連接的地方的操作靈活性。

          SRT 優(yōu)點(diǎn)

          • 專有協(xié)議的開源替代方案
          • 高質(zhì)量低延遲
          • 設(shè)計(jì)用于在不可預(yù)測的公共網(wǎng)絡(luò)上進(jìn)行現(xiàn)場視頻傳輸
          • 解釋了數(shù)據(jù)包丟失和抖動(dòng)

          SRT 限制

          • 不受所有編碼器的本機(jī)支持
          • 作為新技術(shù)仍在被采用
          • 沒有廣泛的播放支持

          CMAF 通用媒體應(yīng)用格式

          CMAF 是一種簡化基于 HTTP 的流媒體交付的新格式。它是一個(gè)新興的標(biāo)準(zhǔn),有助于降低成本和復(fù)雜性,并提供大約3-5秒的延遲流。CMAF 可用于 DASH 或 HLS。

          由于 RTMP 的地位不斷下降,其他基于 HTTP (超文本傳輸協(xié)議)的自適性串流技術(shù)也應(yīng)運(yùn)而生。但是,不同的流標(biāo)準(zhǔn)需要不同的文件容器。例如,當(dāng) MPEG-DASH 使用。MP4集裝箱,HLS 流交付在。其格式。

          因此,每個(gè)想要接觸更多觀眾的廣播公司都必須對同一個(gè)視頻文件進(jìn)行兩次編碼和存儲(chǔ),因?yàn)榧用軇?chuàng)建了完全不同的文件組。

          這兩個(gè)版本的同一個(gè)視頻流應(yīng)提前或立即進(jìn)行。這兩個(gè)過程都需要額外的存儲(chǔ)和處理成本。

          蘋果和微軟建議移動(dòng)圖片專家組創(chuàng)建一個(gè)新的統(tǒng)一標(biāo)準(zhǔn),稱為通用媒體應(yīng)用格式(CMAF) ,以降低在線視頻傳輸?shù)膹?fù)雜性。

          CMAF優(yōu)勢

          • 削減成本
          • 最小化工作流復(fù)雜性
          • 減少延遲

          鋒網(wǎng)按:本文作者蔣海兵,趣拍產(chǎn)品總監(jiān),直播行業(yè)老兵。

          移動(dòng)直播行業(yè)的火熱會(huì)在很長一段時(shí)間內(nèi)持續(xù),通過和各行業(yè)的整合,從而成為具有無限可能性的行業(yè)。主要有以下三個(gè)原因:

          第一,移動(dòng)直播的UGC生產(chǎn)模式比PC端的直播更明顯,人人都有設(shè)備,隨時(shí)隨地開播,完全順應(yīng)了互聯(lián)網(wǎng)時(shí)代的開放性原則,能刺激更多人去創(chuàng)造和傳播優(yōu)質(zhì)內(nèi)容。


          第二,網(wǎng)絡(luò)帶寬和速度在逐漸提高,網(wǎng)絡(luò)成本在逐漸下降,為移動(dòng)直播提供一個(gè)極佳的發(fā)展環(huán)境。文字、聲音、視頻、游戲等都會(huì)在移動(dòng)直播中呈現(xiàn),創(chuàng)造出更加豐富的用戶體驗(yàn)。直播可以以SDK的形式接入到自己的應(yīng)用中,比如,教育領(lǐng)域中的課后輔導(dǎo)完全可以以直播的形式開展業(yè)務(wù)、電商也可借助直播讓用戶挑選商品,促進(jìn)銷售。


          第三,一個(gè)與VR/AR技術(shù)相結(jié)合的移動(dòng)直播為整個(gè)行業(yè)的未來提供了新的發(fā)展空間。VR/AR直播能夠讓用戶身臨其境,帶動(dòng)主播與觀眾更貼近真實(shí)的互動(dòng),大大提高平臺(tái)的用戶參與度。

          當(dāng)下,有技術(shù)實(shí)力和流量優(yōu)勢的互聯(lián)網(wǎng)從業(yè)者都不愿錯(cuò)過直播這個(gè)風(fēng)口,如何快速搭建一個(gè)直播系統(tǒng)成了大家關(guān)心的問題,我想和大家分享下我的經(jīng)驗(yàn)。我從事于一家直播產(chǎn)品開發(fā)商,我們的產(chǎn)品為了快速趕上市場,使用了云服務(wù)提供商的直播SDK。

          從業(yè)者都知道,一個(gè)完整直播產(chǎn)品應(yīng)該包含以下環(huán)節(jié):推流端(采集、前處理、編碼、推流)、服務(wù)端處理(轉(zhuǎn)碼、錄制、截圖、鑒黃)、播放器(拉流、解碼、渲染)、互動(dòng)系統(tǒng)(聊天室、禮物系統(tǒng)、贊)。 下面我就一一講述下直播SDK在各個(gè)環(huán)節(jié)所做的工作。

          一、移動(dòng)直播推流端需要做哪些工作?

          直播推流端即主播端,主要通過手機(jī)攝像頭采集視頻數(shù)據(jù)和麥克風(fēng)采集音頻數(shù)據(jù),經(jīng)過一系列前處理、編碼、封裝,然后推流到CDN進(jìn)行分發(fā)。

          1、采集

          移動(dòng)直播SDK通過手機(jī)攝像頭和麥克風(fēng)直接采集音視頻數(shù)據(jù)。其中,視頻采樣數(shù)據(jù)一般采用RGB或YUV格式、音頻采樣數(shù)據(jù)一般采用PCM格式。采集到的原始音視頻的體積是非常大的,需要經(jīng)過壓縮技術(shù)處理來提高傳輸效率。

          2、前處理

          在這個(gè)環(huán)節(jié)主要處理美顏、水印、模糊等效果。美顏功能幾乎是直播的標(biāo)配功能。我們調(diào)研中發(fā)現(xiàn)太多case是因?yàn)闆]有美顏功能被拋棄使用的。另外國家明確提出了,所有直播都必須打有水印并回放留存15天以上。

          美顏實(shí)際上是通過算法去識(shí)別圖像中的皮膚部分,對皮膚區(qū)域進(jìn)行色值調(diào)整。通過顏色對比找到皮膚區(qū)域,可以進(jìn)行色值調(diào)整、添加白色圖層或調(diào)整透明度等來達(dá)到美白效果。在美顏處理方面,最著名的GPUImage提供了豐富的效果,同時(shí)可以支持iOS和Android,支持自己寫算法實(shí)現(xiàn)自己最理想的效果。GPUImage內(nèi)置了120多種常見濾鏡效果,添加濾鏡只需要簡單調(diào)用幾行代碼就可以了。

          3、編碼

          為了便于手機(jī)視頻的推流、拉流以及存儲(chǔ),通常采用視頻編碼壓縮技術(shù)來減少視頻的體積,現(xiàn)在比較常用的視頻編碼是H.264。在音頻方面,比較常用的是AAC編碼格式,其它如MP3、WMA也是可選方案。視頻經(jīng)過編碼壓縮大大提高了視頻的存儲(chǔ)和傳輸效率,當(dāng)然,經(jīng)過壓縮后的視頻在播放時(shí)必須進(jìn)行解碼。

          相較于之前的H.264,2012年誕生的H.265編解碼標(biāo)準(zhǔn)有了相當(dāng)大的改善,做到了僅需要原來一半帶寬即可播放相同質(zhì)量的視頻,低于1.5Mbps的網(wǎng)絡(luò)也能傳輸1080p的高清視頻。像阿里云、金山云都在推自己的H.265編解碼技術(shù),隨著直播的快速發(fā)展和對帶寬的依賴,H.265編解碼技術(shù)已有全面取代H.264的趨勢。

          H264和H265個(gè)模塊技術(shù)差異:

          另外,硬件編碼已經(jīng)成為移動(dòng)直播的首選方案,軟編碼處理在720p以上的視頻頹勢非常明顯。在iOS平臺(tái)上硬件編碼的兼容性比較好,可以直接采用,但在Android平臺(tái)上,Media Codec編碼器針對不同的芯片平臺(tái)表現(xiàn)差異還是非常大的,要完全實(shí)現(xiàn)全平臺(tái)兼容的成本還是非常高的。

          4、推流

          要想用于推流還必須把音視頻數(shù)據(jù)使用傳輸協(xié)議進(jìn)行封裝,變成流數(shù)據(jù)。常用的流傳輸協(xié)議有RTSP、RTMP、HLS等,使用RTMP傳輸?shù)难訒r(shí)通常在1–3秒,對于移動(dòng)直播這種實(shí)時(shí)性要求非常高的場景,RTMP也成為移動(dòng)直播中最常用的流傳輸協(xié)議。最后通過一定的Qos算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡(luò)斷,通過CDN進(jìn)行分發(fā)。在直播場景中,網(wǎng)絡(luò)不穩(wěn)定是非常常見的,這時(shí)就需要Qos來保證網(wǎng)絡(luò)不穩(wěn)情況下的用戶觀看直播的體驗(yàn),通常是通過主播端和播放端設(shè)置緩存,讓碼率均勻。另外,針對實(shí)時(shí)變化的網(wǎng)絡(luò)狀況,動(dòng)態(tài)碼率和幀率也是最常用的策略。

          當(dāng)然,在網(wǎng)絡(luò)傳輸方面全部自己來做基本不現(xiàn)實(shí),找提供推流服務(wù)的CDN服務(wù)商提供解決方案是最好的選擇。據(jù)了解,阿里云是國內(nèi)唯一能自研CDN緩存服務(wù)器的廠商,性能非常有保障。當(dāng)然,大多數(shù)直播平臺(tái)都會(huì)同時(shí)接入多個(gè)視頻云服務(wù)提供商,這樣可以做拉流線路互備,對推流后視頻集群再進(jìn)行優(yōu)化也可提高直播的流暢性和穩(wěn)定性。

          二、服務(wù)端處理需要做哪些工作?

          要想適配各終端和平臺(tái),服務(wù)端還需要對流進(jìn)行轉(zhuǎn)碼,如支持RTMP、HLS、FLV等格式拉流,支持一路轉(zhuǎn)多路適配不同網(wǎng)絡(luò)和分辨率的終端設(shè)備。

          1、截圖、錄制、水印

          像阿里云等云服務(wù)商都提供了實(shí)時(shí)轉(zhuǎn)碼技術(shù),將用戶推流碼率較高(比如720P)實(shí)時(shí)轉(zhuǎn)化成較低清晰度(比如360P)的流以適應(yīng)播放端的需求。如果要自己搭建實(shí)時(shí)轉(zhuǎn)碼系統(tǒng),這個(gè)成本是極高的,一臺(tái)8核設(shè)備只能實(shí)時(shí)轉(zhuǎn)10路流,如果一個(gè)正常的直播平臺(tái)有1000路流,就需要100臺(tái)設(shè)備,加上后期的運(yùn)維成本,一般公司就吃不消了。

          2、鑒黃

          2016年4月14日,文化部查出了斗魚、虎牙、YY、熊貓TV、六間房、9158等涉嫌提供含宣揚(yáng)淫穢、暴力、教唆犯罪的網(wǎng)絡(luò)直播平臺(tái),被列入查處名單。政府介入管制有利于直播行業(yè)打造健康的生態(tài),進(jìn)入良性發(fā)展。這也意味著為了安全直播產(chǎn)品鑒黃成了必需環(huán)節(jié),使用技術(shù)手段去鑒黃是移動(dòng)直播平臺(tái)必然采用的方案。

          市面上提供鑒黃服務(wù)的方案主要有兩種:

          第一種是對視頻進(jìn)行截圖,然后對圖片進(jìn)行鑒黃,返回鑒黃結(jié)果和分值。典型的企業(yè)有阿里(綠網(wǎng))、圖譜科技,他們目前都支持直接傳入視頻,經(jīng)過服務(wù)端分析返回結(jié)果。通常由業(yè)務(wù)系統(tǒng)接入鑒黃服務(wù),根據(jù)鑒黃結(jié)果對直播流進(jìn)行控制,如切斷直播流、封禁賬號(hào)等。


          第二種是和CDN結(jié)合,直接對直播流進(jìn)行分析,識(shí)別結(jié)果分為色情、疑似色情、性感和正常,業(yè)務(wù)系統(tǒng)根據(jù)識(shí)別結(jié)果直接控制直播流。典型的企業(yè)是Viscovery,這套方案的優(yōu)點(diǎn)是實(shí)時(shí)性保證比較好,缺點(diǎn)是必須部署到CDN或自己的機(jī)房,使用成本相對高一些。

          還有一種一站式直播解決方案提供商,他們的做法是,用戶只需在控制臺(tái)對鑒黃服務(wù)進(jìn)行配置就可以針對每個(gè)應(yīng)用、每一路直播流進(jìn)行實(shí)時(shí)審核。在控制臺(tái)中,云服務(wù)商實(shí)時(shí)將鑒黃結(jié)果返回,用戶可以直接查看色情直播和違規(guī)界面的截圖,同時(shí)可以對直播流進(jìn)行控制,切斷問題直播流。該服務(wù)商還提供了短信、郵件和站內(nèi)信功能,避免漏掉任何一個(gè)非法視頻,給平臺(tái)造成損失,我們就使用了這種方式。

          三、播放器端需要做哪些工作?

          在播放器端如何做到秒開,直播過程中保證畫面和聲音清晰度的同時(shí),穩(wěn)定、流程、無卡頓的直播流量,這些工作都需要播放器端配合服務(wù)端來做優(yōu)化,做到精確調(diào)度。

          1、拉流

          拉流實(shí)際是推流的逆過程。首先通過播放端獲取碼流,標(biāo)準(zhǔn)的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的專利協(xié)議,開源軟件和開源庫都支持的比較好,如開源的librtmp庫,播放端只要支持flashPlayer的就能非常簡單的播放RTMP直播,直播延遲一般在1–3秒。

          HLS是蘋果提出的基于HTTP的流媒體傳輸協(xié)議,HTML5可以直接打開播放,通過微信、QQ等軟件分享出去,用戶也可以直接觀看直播,可以說移動(dòng)直播app,HLS拉流協(xié)議是必須支持的,缺點(diǎn)是延遲通常大于10秒。FLV(HTTP-FLV)協(xié)議是使用HTTP協(xié)議傳輸流媒體內(nèi)容的一個(gè)協(xié)議,也不用擔(dān)心被Adobe的專利綁架,直播延遲同樣可以做到1–3秒。

          各拉流協(xié)議的差異:

          我們使用的云服務(wù)的直播拉流技術(shù)提供了以上三種格式,滿足不同業(yè)務(wù)場景的需求,如對即時(shí)性要求較高或有互動(dòng)需求的可以采用RTMP或FLV格式進(jìn)行直播拉流播放;對于有回放或跨平臺(tái)需求的,推薦使用HLS。當(dāng)然,三種協(xié)議是可以同時(shí)使用的,分別用到自己的場景就可以了。

          2、解碼和渲染

          拉流獲取封裝的視頻數(shù)據(jù)后,必須通過解碼器解碼、渲染后才能在播放器上播放。它是編碼的逆過程,是指從音視頻的數(shù)據(jù)中提取原始數(shù)據(jù)。前面介紹的H.264和H.265編碼格式都是有損壓縮,所以在提取后的原始數(shù)據(jù),并非原始采樣數(shù)據(jù),存在一定的信息丟失。因此,在視頻體積最小的情況下通過各種編碼參數(shù)保留最好的原始畫面,成為了各視頻公司的核心機(jī)密。

          考慮對高清的支持,解碼肯定還是要選擇硬解碼的。前面介紹過,iOS系統(tǒng)由于硬件比較單一、比較封閉,支持的比較好,Android系統(tǒng)由于平臺(tái)差異非常大,編解碼要完全兼容各平臺(tái)還需要很多工作要做。

          四、移動(dòng)直播中的交互系統(tǒng)

          移動(dòng)直播中最常見的交互有聊天室(彈幕)、點(diǎn)贊、打賞和禮物等,交互系統(tǒng)涉及消息的實(shí)時(shí)性和互動(dòng)性,在技術(shù)實(shí)現(xiàn)上大多是使用IM的功能來實(shí)現(xiàn)的。對于在線人數(shù)比較多的房間,彈幕消息量是非常大,主播與用戶其實(shí)都看不過來,為了緩解服務(wù)器壓力,在產(chǎn)品策略需要做一些必要的優(yōu)化。

          1、聊天室

          移動(dòng)直播中的彈幕交互是用戶和主播互動(dòng)的主要方式,實(shí)際上就是IM中的聊天室功能。聊天室和群聊功能類似,但聊天室的消息是不需要分發(fā)給不在線的用戶的,歷史消息也不需要查看,用戶只有進(jìn)入聊天室后才能查看聊天消息和群成員信息。面對復(fù)雜多變的網(wǎng)絡(luò)狀況,還需要根據(jù)用戶位置就近選擇近對應(yīng)運(yùn)營商的單線機(jī)房接入彈幕消息服務(wù),讓彈幕更及時(shí)。

          2、禮物系統(tǒng)

          禮物系統(tǒng)更是絕大多數(shù)移動(dòng)直播平臺(tái)的標(biāo)配了,它是這些平臺(tái)主要的收入來源。送禮物的形式也增強(qiáng)了用戶和主播之間的互動(dòng)交流,也是主播依賴平臺(tái)的最主要原因。

          禮物的收發(fā)在技術(shù)實(shí)現(xiàn)上也是用聊天室接口做的,通常采用IM中的自定義消息實(shí)現(xiàn),當(dāng)用戶收到或發(fā)送禮物時(shí)將自定義消息對應(yīng)的禮物圖形渲染出來。

          以上就是我們在使用了第三方SDK服務(wù)后總結(jié)出來的直播產(chǎn)品經(jīng)驗(yàn),希望能幫助到創(chuàng)業(yè)者和從業(yè)者們。

          境部署

          1、 配置、安裝 Nginx;

          # ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/openssl/
          # make
          # make install
          # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  //啟動(dòng)Ngnix
          # netstat -ano | grep 80

          2、擴(kuò)展 Nginx-rtmp-module

          C++音視頻開發(fā)學(xué)習(xí)資料點(diǎn)擊領(lǐng)取→音視頻開發(fā)(資料文檔+視頻教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

          # ./configure --add-module=/usr/local/src/nginx-rtmp-module-master --with-openssl=/usr/local/openssl/
          # make
          # make install
          # vim /usr/local/ngnix/conf/ngnix.conf
          include /usr/localcinx-rtmp-module-master/testinx.conf;
          # vim /usr/localcinx-rtmp-module-master/testinx.conf
          rtmp {
              server {
                  listen 1935;
          
                  application myapp {
                      live on;
          
                      #record keyframes;
                      #record_path /tmp;
                      #record_max_size 128K;
                      #record_interval 30s;
                      #record_suffix .this.is.flv;
          
                      #on_publish http://localhost:8080/publish;
                      #on_play http://localhost:8080/play;
                      #on_record_done http://localhost:8080/record_done;
                  }
          
                      application hls {
                      live on;
                      hls on;
                      hls_path /tmp/hls;
                      hls_fragment 10s;     #每個(gè)視頻切片的時(shí)長。
                      hls_playlist_length 60s;  #總共可以回看的事件,這里設(shè)置的是1分鐘。
                      #hls_continuous on; #連續(xù)模式。
                      #hls_cleanup on;    #對多余的切片進(jìn)行刪除。
                      #hls_nested on;     #嵌套模式。
                  }
              }
          }
          
          http {
              server {
                  listen      8080;
          
                  location /stat {
                      rtmp_stat all;
                      rtmp_stat_stylesheet stat.xsl;
                  }
          
                  location /stat.xsl {
                      root /usr/local/src/nginx-rtmp-module-master/;
                  }
          
                  location /control {
                      rtmp_control all;
                  }
          
                  location /rtmp-publisher {
                      root /usr/local/src/nginx-rtmp-module-master/test;
                  }
          
                      location /hls {
                      #server hls fragments
                      types{
                          application/vnd.apple.mpegurl m3u8;
                          video/mp2t ts;
                      }
                      #alias /tmp/app;
                      root /tmp;
                      expires -1;
                  }
          
                  location / {
                      root /usr/local/src/nginx-rtmp-module-master/test/rtmp-publisher;
                  }
              }
          }
          # /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
          # netstat -ltn  #查看端口的監(jiān)聽情況

          3、 安裝 ffmpeg

          # ./configure --prefix=/usr/local/ffmpeg
          # make
          # make install

          C++音視頻開發(fā)學(xué)習(xí)資料點(diǎn)擊領(lǐng)取→音視頻開發(fā)(資料文檔+視頻教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

          模擬推流

          • 先來看一個(gè)簡單的直播推流流程圖 :

          用 flv 視頻文件模擬 RTMP 視頻流:

           # ffmpeg -re -i test.flv -vcodec copy -acodec copy -f flv rtmp://ip:1935/myapp/mystream

          注:RTMP(Real Time Messaging Protocol),實(shí)時(shí)消息傳輸協(xié)議,用于視頻直播協(xié)議,和 HLS 一樣都可以應(yīng)用于視頻直播;

          • 用 mp4 視頻文件模擬 HLS 視頻流:
          ffmpeg -re -i test.mp4 -c copy -f flv rtmp://ip:1935/hls/mystream

          注:HLS(HTTP Live Streaming), Apple 的動(dòng)態(tài)碼率自適應(yīng)技術(shù),主要用于 PC 和 Apple 終端的音視頻服務(wù);

          • HLS 的請求流程:

          H5 如何在頁面上播放視頻

          <video autoplay webkit-playsinline>      
                  <source src="http://ip/hls/mystream.m3u8" type="application/vnd.apple.mpegurl" />      
                  <p class="warning">Your browser does not support HTML5 video.</p>   
              </video> 

          總結(jié)

          根據(jù)以上的流程,簡單的實(shí)現(xiàn)了一個(gè)視頻直播的流服務(wù)器來推送直播流,并且可以在 H5 頁面上播放視頻流。有興趣的小伙伴們也可以嘗試一下~


          主站蜘蛛池模板: 亚洲一区二区三区免费在线观看 | 亚洲色精品aⅴ一区区三区| 在线电影一区二区三区| 男人的天堂精品国产一区| 少妇无码一区二区三区| 大伊香蕉精品一区视频在线| 国产中文字幕一区| 色综合视频一区中文字幕 | 国产一区二区三区在线免费 | 中文字幕日韩一区二区三区不卡| 欧洲精品无码一区二区三区在线播放 | 亚洲美女一区二区三区| 国产在线一区二区三区| 中文无码AV一区二区三区| 一区二区三区精品高清视频免费在线播放 | 日本中文字幕一区二区有码在线| 三级韩国一区久久二区综合| 无码aⅴ精品一区二区三区| 高清精品一区二区三区一区 | 韩日午夜在线资源一区二区| 亚洲国产成人久久综合一区77| 国产大秀视频一区二区三区| 精品国产区一区二区三区在线观看| 在线欧美精品一区二区三区| 色噜噜狠狠一区二区| 国产精品高清视亚洲一区二区 | 日本一道高清一区二区三区| 中文字幕人妻AV一区二区| 国产日产久久高清欧美一区| 暖暖免费高清日本一区二区三区| 另类国产精品一区二区| 韩国精品一区二区三区无码视频| 天堂一区二区三区在线观看| 无码精品不卡一区二区三区| 国产精品美女一区二区 | 亲子乱av一区区三区40岁| 亚无码乱人伦一区二区| 国产一区二区三区不卡在线看| 无码人妻久久一区二区三区蜜桃| 国产一区二区四区在线观看| 色欲综合一区二区三区|