android 音視頻基礎(chǔ)知識普及

推流端? 采集 處理 編碼 推流

服務(wù)端? 轉(zhuǎn)碼 錄制 截圖 鑒黃

播放端? 拉流 解碼 渲染

互動系統(tǒng) 聊天 禮物 點贊

1fps = 1280*720*1.5bit =1382400bit = 172800byte = 172KB

1秒 = 30fps = 5160KB = 5M

1秒5m數(shù)據(jù)量就可以看了

H264 = 172K+30 P幀 = 500K

編碼壓縮數(shù)據(jù)空間,減少傳輸空間

H264 空間 時間? 編碼? 視覺? 4個冗余

NALU 網(wǎng)絡(luò)提取層單元

sps 圖片序列 pps 圖片信息 I幀 幀內(nèi) P幀 前向 B幀 雙向

GOP 兩個I幀圖像組 秒開原理

H264主流 H265 VP8 VP9

音頻編碼:sac ppm wav ogg

視頻編碼:fav ts avi等

推流協(xié)議:

rtmp 最廣泛? cdn 簡單 基礎(chǔ)tcp 傳輸成本高

webrtc w3c 基于udp? cdn支持差

ump 定制化空間大 成本高 cdn 不友好

優(yōu)化:保證音頻傳送 調(diào)整碼率 fps 分辨率? 減少數(shù)據(jù)

服務(wù)端: 轉(zhuǎn)碼 錄制截圖 點播 分發(fā)協(xié)議分發(fā)到客戶端

拉流: rump http-flv hls

解碼:編碼逆過程 提取原始數(shù)據(jù)

渲染

交互: 聊天 禮物

常用工具:

推流 OBS Studio

播放端 cutv 測試工具

softe aac /h264bsanalyzer /flvparse /yuvplayer

直播sdk:

阿里云 騰訊云 金山云 ucloud 七牛云

rtmp 實時消息傳輸: tcp/ip 應(yīng)用層協(xié)議? 推送/直播? 基本數(shù)據(jù)單元為消息

1B 消息類型? 2B 長度? 3B 時間 4B? 流id 消息體

傳輸時 消息回被拆分成消息塊 chunk chunk header + chunk data

flv: 大塊音視頻 加入標記頭信息? 延遲表現(xiàn)和大規(guī)模并發(fā)成熟

HLS:分成5-10s 用m3u8索引管理 用于朋友圈分享?

m3u8索引: 直播信號源--視頻編碼器(后臺視頻處理)--流切片器--各種ts媒體文件(分發(fā)模塊)--索引文件(數(shù)據(jù)庫)--客戶端

cdn網(wǎng)絡(luò) 為了解決用戶訪問資源慢出現(xiàn)的技術(shù)

邊緣節(jié)點? 二級節(jié)點(大城市) 源站

搭建流媒體服務(wù):

準備流媒體服務(wù)器 linux max 編譯安裝nginx服務(wù)? 配置rtmp服務(wù)并啟動nginx服務(wù)

聲音三要素:音調(diào) 音量 音色

音頻量化(模數(shù)轉(zhuǎn)換):模擬數(shù)據(jù) 采樣? 量化 編碼? 數(shù)字信號? == 0101001110

碼率 = 采樣率(1.6w/44.1/48k)x 采樣大小(8位-電話/16位-常見) x 聲道數(shù)(單/雙)

音頻壓縮: 有損消除冗余數(shù)據(jù)? 哈夫曼無損編碼

音頻編碼: 時域轉(zhuǎn)頻域---心里聲學模型---量化編碼---比特流格式化---比特流

音頻編解碼 : opus(口 耳 實時互動 最快)? aac(直播用 次快)? speed(回音 降噪等)? g.711(固話)

aac : 取代mp3 加入 sir ps 技術(shù)?

aac lc 128k / aac he v2 64k /? aac he v2 32k/

aac 格式 : adif 從頭開始解碼,用在磁盤文件中? adts 每一幀都有一個同步字,可以在任何位置解碼

aac 編碼庫 : libfdk_aac > ffmpeg aac >libfaac> libvo_aacenc

H264: I幀 關(guān)鍵 幀內(nèi)壓縮? / p幀 向前參考1幀 / B幀 雙向參考幀

sps: 序列參數(shù)集/pps:圖像參數(shù)集

GOF: 一組幀數(shù)? p幀丟失 會花屏卡頓

視頻編碼器: x264/x265 /open h264(svc)/vp8/vp9

h264 壓縮技術(shù)-編碼原理: 幀內(nèi)預(yù)測壓縮,空域冗余數(shù)據(jù)/幀間預(yù)測壓縮,時域冗余數(shù)據(jù)/dcp整數(shù)離散余炫變換,傅立葉變換/cabac壓縮

h264結(jié)構(gòu):視頻序列--圖像--片--宏塊--子快

h264編碼分層:nal 視頻數(shù)據(jù)網(wǎng)絡(luò)抽象層--vcl 視頻數(shù)據(jù)編碼層

碼率:sodb 原始比特流 / rbsp sodb最后補1 / ebsp 起始碼增加一個起始位0x03 /? nalu nal+ebsp

nal unit = nalu 頭部 + 一個切片(頭/數(shù)據(jù)) 切片

yuv格式:4:4:4/4:4:2/4:2:0 (平坦編碼 /半平坦編碼)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 直播流程: 1、 采集視頻、音頻攝像頭 NV21 camera麥克風 pcm數(shù)據(jù)2、 視頻處理美顏、水印、濾鏡3、...
    書文換酒錢閱讀 1,616評論 0 1
  • 什么是視頻直播? 直播就是將每一幀數(shù)據(jù)(Vide/Audio/Data Frame),打上時序標簽(Timesta...
    Paul_Cent閱讀 4,747評論 0 1
  • 直播的過程包括:采集、處理、編碼、封包、推流、傳輸、轉(zhuǎn)碼、分發(fā)、拉流、解碼、播放。每一個環(huán)境都會有很多的坑,都需要...
    Paul_Cent閱讀 1,392評論 0 0
  • CDN全稱為Content Delivery Network即內(nèi)容分發(fā)網(wǎng)絡(luò),是一個策略性部署的整體系統(tǒng),主要解決由...
    Paul_Cent閱讀 530評論 0 1
  • [TOC] 音視頻&流媒體 是什么促使我要寫這一篇音視頻入門文章?那是因為和一妹子打賭碼率的概念,結(jié)果輸了;對一個...
    AllenWu閱讀 5,164評論 1 24

友情鏈接更多精彩內(nèi)容