直播行業(yè)如火如荼的加速前進(jìn),一對(duì)一直播系統(tǒng)開發(fā)開發(fā)緊跟著腳步加速前進(jìn),,你知道一對(duì)一直播系統(tǒng)開發(fā)開發(fā)應(yīng)當(dāng)具備哪些條件嗎,? 一、音視頻采集 一對(duì)一直播系統(tǒng)開發(fā)中所呈現(xiàn)的畫面和聲音的原始數(shù)據(jù),。由于iOS 和Android系統(tǒng)不同對(duì)硬件種類和硬件適配性要求也不同,,涉及的源碼和傳輸協(xié)議也不同;所以在音視頻采集時(shí)用到的程序則是不同的,。
二,、音視頻的處理 使用相關(guān)軟件和硬件對(duì)音視頻原始數(shù)據(jù)的問(wèn)題如回音消除、噪聲抑制,、網(wǎng)絡(luò)抖動(dòng),,美顏、水印進(jìn)行加工得到可用的音視頻數(shù)據(jù),。常見的編碼方式有CBR,、VBR; 目前 iOS 端比較知名的是 GPUImage 這個(gè)庫(kù),提供了豐富的預(yù)處理效果,,還可以基于這個(gè)庫(kù)在一對(duì)一直播系統(tǒng)開發(fā)中自己寫算法實(shí)現(xiàn)更豐富端效果,。Android 也有 GPUImage 這個(gè)庫(kù)的移植,叫做 android-gpuimage,。
三,、音視頻編碼 音視頻編碼是什么意思,因?yàn)槲唇?jīng)編碼的數(shù)據(jù)數(shù)字視頻的數(shù)據(jù)量很大,,存儲(chǔ)困難,,傳輸困難。難以達(dá)到現(xiàn)有系統(tǒng)所需呈現(xiàn)的效果,,在一對(duì)一直播系統(tǒng)開發(fā)中為了便于手機(jī)可以推流,、拉流、存儲(chǔ)進(jìn)行編碼處理,。 四,、推流 利用編碼器將視頻內(nèi)容進(jìn)行編碼推送到服務(wù)器的過(guò)程。由于CDN的節(jié)點(diǎn)部署有內(nèi)容分發(fā)的功能,,在一對(duì)一直播系統(tǒng)開發(fā)中在推流和拉流中起著十分重要的作用,。 五,、流媒體服務(wù)器 流媒體指以流方式在網(wǎng)絡(luò)中傳送音頻、視頻和多媒體文件的媒體形式,。流媒體的典型特征是把連續(xù)的音頻和視頻信息壓縮后放到網(wǎng)絡(luò)服務(wù)器上,用戶邊下載邊觀看,。由于流媒體技術(shù)的優(yōu)越性,,該技術(shù)廣泛應(yīng)用在線一對(duì)一直播系統(tǒng)開發(fā)中。
常用到的傳輸協(xié)議有:RTP與RTCP,、HTTP,、HLS等。其中RTP 實(shí)行有序傳送,,RTP中的序列號(hào)允許接收方重組發(fā)送方的包序列,,同時(shí)序列號(hào)也能用于決定適當(dāng)?shù)陌恢茫缭谝曨l解碼中,,就不需要順序解碼,。RTCP是RTP的配套協(xié)議,為RTP媒體流提供信道外的控制,。RTCP和RTP一起協(xié)作將多媒體數(shù)據(jù)打包和發(fā)送,,定期在多媒體流會(huì)話參與者之間傳輸控制數(shù)據(jù)。 六,、拉流 通過(guò)RTSP直播播放SDK的數(shù)據(jù)回調(diào)接口,,拿到音視頻數(shù)據(jù)。 七,、音視頻解碼 使用相關(guān)硬件或者軟件對(duì)收到的編碼音視頻進(jìn)行解碼才能將音視頻呈現(xiàn)出來(lái),;在解碼是可能會(huì)用到第三方解碼插件。目前 iOS 端的播放兼容性較好,,在延遲可接受的情況下一對(duì)一直播系統(tǒng)開發(fā)音視頻解碼使用 HLS 協(xié)議是最好的選擇,。Android 的硬件解碼和編碼一樣也存在兼容性問(wèn)題; 這就是一套完整的一對(duì)一直播系統(tǒng)開發(fā)原理過(guò)程,,開發(fā)一套系統(tǒng)也不是那么簡(jiǎn)單的過(guò)程,,程序員需嚴(yán)禁的對(duì)待每一步驟,為了后期的測(cè)試運(yùn)行做好基礎(chǔ),。 以上內(nèi)容為作者“云豹科技阿星” 原創(chuàng),,未經(jīng)作者本人同意,禁止轉(zhuǎn)載,,否則將追究相關(guān)法律責(zé)任,。 |
|