前言
當(dāng)前app最火的幾個(gè)技術(shù)專題無(wú)非就是直播、手游、跨平臺(tái),只要精通其中任何一個(gè),那工資都是爽的不要不要的,很多人想學(xué)苦于無(wú)法入門,這里就帶大家來(lái)了解下直播技術(shù)。
直播難,難在專業(yè)技術(shù)點(diǎn)多,專業(yè)概念也多,涉及到音視頻壓縮算法處理、CDN分發(fā)、即時(shí)通訊等,單個(gè)技能就夠你學(xué)個(gè)好幾年了。怎樣快速搭建一個(gè)直播呢?當(dāng)然是站在大神的肩膀上!
效果圖
IMG_3797.PNG
完整的直播功能
根據(jù)效果圖猜猜產(chǎn)品設(shè)計(jì)的功能:
聊天
- 聊天、表情、彈幕、排行榜、貴賓榜、房間增刪查改切換、黑名單等
送禮
- 普通禮、豪華禮、普通??糧、特權(quán)、包裹、充值、提現(xiàn)等
直播
- 錄制、美顏、推流、解碼、實(shí)時(shí)播放、歷史播放、轉(zhuǎn)播、禁播、超管、鑒黃等
個(gè)人
- 登錄、注冊(cè)、搜索、關(guān)注、粉絲、收入等
平臺(tái)
- 個(gè)人統(tǒng)計(jì)、主播統(tǒng)計(jì)、收入統(tǒng)計(jì)、業(yè)務(wù)埋點(diǎn)等
完整直播app流程

圖片.png
1.音視頻采集
從設(shè)備(手機(jī))的攝像頭、MIC中采集音頻、視頻的原始數(shù)據(jù)
2.前置處理
- 對(duì)視頻添加美顏、水印、濾鏡等
- 對(duì)音頻進(jìn)行混音、消除環(huán)境音、聲音特效等
3.音視頻編碼
原始的音視頻數(shù)據(jù)是很大的,需要進(jìn)行壓縮編碼,方便快速傳輸。
常用的編碼類型有:
- 視頻編碼:H.264、H.265、VP8、VP9
- 音頻編碼:aac、Opus、mp3
編碼方式又分為軟編碼、硬編碼
- 軟編碼: 使用CPU進(jìn)行編碼
- 硬編碼: 不使用CPU進(jìn)行編碼,使用顯卡(GPU)進(jìn)行硬件加速,專用的DSP、FPGA、ASIC芯片等硬件進(jìn)行編碼
4.推流
將編碼好的音視頻根據(jù)流媒體協(xié)議格式封裝數(shù)據(jù),推送到流媒體服務(wù)器。
常用的流媒體協(xié)議有:
RTMP、RTSP、HLS、RTP/RTCP、FLV
5.流媒體服務(wù)器
接收到音視頻流,服務(wù)器處理步驟:
- 鑒黃處理
- 截屏
- 錄制保存
- 實(shí)時(shí)轉(zhuǎn)碼,常用的格式為RTMP、RTSP、HLS、FLV,方便iOS、Android、pc等根據(jù)自身情況拉取各自符合格式的流
- CDN緩存分發(fā)
常用的流媒體服務(wù)器有:
nginx、SRS、BMS
6.拉流
各個(gè)客戶端根據(jù)自身情況拉取流媒體服務(wù)器轉(zhuǎn)碼的音視頻流
7.音視頻解碼
拉取下來(lái)的流都是經(jīng)過(guò)第3步編碼后的,需求根據(jù)編碼協(xié)議進(jìn)行解碼才能播放
8.播放
各端根據(jù)原生提供的API進(jìn)行音視頻播放
iOS直播技術(shù)

圖片.png
如果覺(jué)得可以就點(diǎn)個(gè)??吧,歡迎粉絲收藏,土豪打賞,您的關(guān)注就是我們創(chuàng)作的動(dòng)力!
讀者有什么想看的相關(guān)技術(shù)篇章,歡迎評(píng)論留言!
QQ交流群:908058499
上一篇:無(wú) 目錄 下一篇:iOS 直播專題2-音視頻采集