音視頻開發(fā)基礎(chǔ)知識

一存璃、顏色模式
RGB
YUV:YUV4:4:4 YUV4:2:2 YUV4:2:0
RGB與YUV轉(zhuǎn)換公式
HSV

二氮昧、視頻基礎(chǔ)概念

幀數(shù)
幀率:=幀數(shù)/時(shí)間
刷新率(HZ)
分辨率:視頻、圖片的畫面大小或尺寸
碼率/比特率

三迟杂、CPU & GPU
CPU:中央處理器
GPU:圖形處理器
硬解和軟解(ffmpeg)
視頻硬解碼和軟解碼的區(qū)別:

  1. 軟解碼和硬解碼的區(qū)別
    軟編碼:使用CPU進(jìn)行編碼
    硬編碼:使用非CPU進(jìn)行編碼泌枪,如顯卡GPU耳贬、專用的DSP、FPGA醋旦、ASIC芯片等
  2. 軟編碼和硬編碼比較
    軟編碼:實(shí)現(xiàn)直接恒水、簡單,參數(shù)調(diào)整方便饲齐,升級易钉凌,但CPU負(fù)載重,性能較硬編碼低捂人,低碼率下質(zhì)量通常比硬編碼要好一點(diǎn)御雕。
    硬編碼:性能高矢沿,低碼率下通常質(zhì)量低于軟編碼器,但部分產(chǎn)品在GPU硬件平臺移植了優(yōu)秀的軟編碼算法(如X264)的酸纲,質(zhì)量基本等同于軟編碼捣鲸。

四、視頻封裝格式
MP4/AVI/MOV/WMV/FLV/MKV/RMVB

五闽坡、視頻編碼格式codec
MPEG
H.26X
H.264
視頻封裝格式&視頻編碼格式:封裝格式是提供了一個(gè)容器栽惶,用于存放視頻、音頻以及其他配置信息疾嗅,而編碼格式是指對視頻畫面內(nèi)容進(jìn)行壓縮的一種標(biāo)準(zhǔn)外厂。

六、音頻格式
WAV\MP3\AAC

七代承、H.264編碼介紹
IPB關(guān)鍵幀
PTS和DTS
GOP


GOP解碼案例

ffmpeg在不同系統(tǒng)中的安裝與簡單裁剪
音頻基礎(chǔ)知識酣衷,如頻率、采樣大小和通道數(shù)等
音頻的壓縮原理
如何從不同的設(shè)備上采集音頻數(shù)據(jù)
如何對音頻進(jìn)行不同的編解碼
視頻的基礎(chǔ)知識
H264編碼原理
如何從不同設(shè)備上采集視頻數(shù)據(jù)
熟悉YUV的一些常見格式(YUV420次泽、NV21穿仪,YV12的不同)
如何將YUV數(shù)據(jù)編碼為H264/H265、VP8/VP9等
FLV/RTMP/HLS/MP4協(xié)議要十分清楚
......


音視頻技術(shù)基礎(chǔ).png
視頻處理

作者:Github資料整理員
鏈接:https://www.zhihu.com/question/325943454/answer/2025622908
來源:知乎
著作權(quán)歸作者所有意荤。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)啊片,非商業(yè)轉(zhuǎn)載請注明出處。

FFmpeg/WebRTC/RTMP音視頻流媒體技術(shù)

1.1 音視頻基礎(chǔ)

1.1 .1 FFMPEG環(huán)境搭建

  • Windows平臺搭建FFMPEG
  • Linux平臺搭建FFMPEG

1.1 .1音視頻基礎(chǔ)

  • 音頻基礎(chǔ)

  • 視頻基礎(chǔ)

  • 常用工具

  • Medialnfo

  • VLC播放器

1.2 FFMPEG命令

  • 視頻錄制
  • 多媒體文件的分解/復(fù)用
  • 裁剪與合并
  • 圖片/視頻互轉(zhuǎn)
  • 直播相關(guān)
  • 各種濾鏡

1.3 FFMPEG編程

1.3 .1 音視頻渲染

  • SDL環(huán)境搭建
  • SDL事件
  • SDL線程
  • YUV視頻播放
  • PCM聲音播放

1.3 .2 FFmpeg API

  • FFmpeg框架
  • FFmpeg內(nèi)存模型
  • FFmpeg常用結(jié)構(gòu)體

1.3 .3 音視頻編碼

  • AAC編解碼原理
  • H264編解碼原理
  • AAC解碼
  • AAC編碼
  • H264解碼
  • H264編碼
  • FFmpeg解碼流程
  • FFmpeg編碼流程

1.3 .4 音視頻封裝格式

  • FLV封裝格式
  • MP4封裝格式
  • 多媒體解復(fù)用
  • 多媒體復(fù)用實(shí)戰(zhàn)
  • 多媒體轉(zhuǎn)封裝格式實(shí)戰(zhàn)

1.3 .5 音視頻過濾器

  • 音視頻過濾器
  • 視頻過濾器

1.3 .6 播放器開發(fā)

  • 播放器框架
  • 模塊
  • 音視頻解碼
  • 播放器控制
  • 音視頻同步

1.3 .7 ffplay播放器

  • 掌握ffplay.c的意義
  • ffplay框架
  • 音視頻解碼
  • 音視頻控制
  • 音視頻同步
  • 參數(shù)機(jī)制

1.3 .8 ffmpeg錄制轉(zhuǎn)碼

  • 掌握ffmpeg.c
  • ffmpeg框架
  • 音視頻編碼
  • 封裝格式轉(zhuǎn)換
  • 提取音頻
  • 提取視頻
  • logo疊加
  • 音視頻文件拼接
  • filter機(jī)制

1.4 流媒體

1.4 .1 rtmp流媒體

  • rtmp
  • wireshark抓包
  • rtmp拉流
  • rtmp推流

1.4 .2 hls流媒體

  • hls
  • HTTP
  • TS格式
  • wireshark
  • hls拉流
  • ffmpeg hls源碼
  • hls多碼率機(jī)制

1.4 .3 http-flv流媒體

  • http-flv
  • wireshark
  • http chunk機(jī)制
  • http-flv拉流
  • ffmpeg http-flv源碼

1.4 .4 RTMP/HLS/HTTP-FLV流媒體服務(wù)器

  • 整體框架
  • rtmp推流
  • rtmp拉流
  • hls拉流
  • http-flv拉流
  • FFmpeg轉(zhuǎn)碼
  • 首屏秒開技術(shù)
  • forward集群源碼
  • edge集群源碼
  • 負(fù)載均衡部署方式

1.4 .5 RTSP流媒體

  • RTSP
  • RTP
  • RTCP
  • RTSP流媒體服務(wù)器搭建
  • RTSP推流
  • RTSP拉流
  • wireshark
  • RTSP流媒體服務(wù)器

1.5 WEBRTC

1.5 .1 WebRTC中級開發(fā)

  • WebRTC通話原理
  • WebRTC開發(fā)環(huán)境搭建
  • coturn最佳搭建
  • 如何采集音視頻數(shù)據(jù)
  • —對—通話時(shí)序
  • 信令服務(wù)器設(shè)計(jì)
  • Web一對一通話
  • Web和Android通話
  • AppRTC

1.5 .2 WebRTC高級開發(fā)

  • 自定義攝像頭分辨率
  • 碼率限制
  • 調(diào)整編碼器順序
  • Mesh模型多方通話
  • Janus框架
  • Janus Web客戶端源碼
  • Janus Android客戶端源碼
  • Janus Windows客戶端源碼
  • Janus信令設(shè)計(jì)
  • 基于Janus實(shí)現(xiàn)會議系統(tǒng)
  • WebRTC源碼編譯
  • 擁塞控制算法
  • FEC
  • jitter buffer

1.5 .3 Janus服務(wù)器源碼

  • 源碼結(jié)構(gòu)
  • 插件機(jī)制
  • 線程
  • 信令交互過程
  • videoroom
  • sdp
  • rtp
  • srtp
  • rtcp
  • stun
  • turn

音頻編碼
視頻編碼
IBP關(guān)鍵幀
音頻文件封裝格式
流媒體協(xié)議
時(shí)間戳
音視頻同步

雷霄驊--音視頻技術(shù)基礎(chǔ):封裝技術(shù)玖像、視頻壓縮編碼技術(shù)紫谷、音頻壓縮編碼技術(shù),流媒體協(xié)議技術(shù)(考慮傳輸?shù)骄W(wǎng)絡(luò)上時(shí))

  1. 封裝格式:后綴:avi捐寥、rmvb笤昨、mp4、flv等握恳,把音頻數(shù)據(jù)和視頻數(shù)據(jù)打包成一個(gè)文件的規(guī)范瞒窒。(MediaInfo查看)
  2. 視頻播放器原理:視頻播放器播放一個(gè)互聯(lián)網(wǎng)上的視頻文件,需要經(jīng)過以下幾個(gè)步驟:解協(xié)議(播放互聯(lián)網(wǎng)上視頻文件需要乡洼,本地文件不需要)崇裁、解封裝、解碼音視頻束昵、音視頻同步拔稳。


    播放視頻

解協(xié)議:將流媒體協(xié)議的數(shù)據(jù),解析為標(biāo)準(zhǔn)的相應(yīng)的封裝格式數(shù)據(jù)锹雏。音視頻在網(wǎng)絡(luò)上傳播的時(shí)候巴比,常常采用各種流媒體協(xié)議,例如HTTP,RTMP轻绞,或是MMS等等腰耙。這些協(xié)議在傳輸視音頻數(shù)據(jù)的同時(shí),也會傳輸一些信令數(shù)據(jù)铲球。這些信令數(shù)據(jù)包括對播放的控制(播放挺庞,暫停,停止)稼病,或者對網(wǎng)絡(luò)狀態(tài)的描述等选侨。解協(xié)議的過程中會去除掉信令數(shù)據(jù)而只保留視音頻數(shù)據(jù)。例如然走,采用RTMP協(xié)議傳輸?shù)臄?shù)據(jù)援制,經(jīng)過解協(xié)議操作后,輸出FLV格式的數(shù)據(jù)芍瑞。
解封裝:將輸入的封裝格式的數(shù)據(jù)晨仑,分離成為音頻流壓縮編碼數(shù)據(jù)和視頻流壓縮編碼數(shù)據(jù)。封裝格式種類很多拆檬,例如MP4洪己,MKV,RMVB竟贯,TS答捕,F(xiàn)LV,AVI等等屑那,它的作用就是將已經(jīng)壓縮編碼的視頻數(shù)據(jù)和音頻數(shù)據(jù)按照一定的格式放到一起拱镐。例如,F(xiàn)LV格式的數(shù)據(jù)持际,經(jīng)過解封裝操作后沃琅,輸出H.264編碼的視頻碼流和AAC編碼的音頻碼流。
解碼:將視頻/音頻壓縮編碼數(shù)據(jù)蜘欲,解碼成為非壓縮的視頻/音頻原始數(shù)據(jù)益眉。音頻的壓縮編碼標(biāo)準(zhǔn)包含AAC,MP3芒填,AC-3等等呜叫,視頻的壓縮編碼標(biāo)準(zhǔn)則包含H.264,MPEG2殿衰,VC-1等等。解碼是整個(gè)系統(tǒng)中最重要也是最復(fù)雜的一個(gè)環(huán)節(jié)盛泡。通過解碼闷祥,壓縮編碼的視頻數(shù)據(jù)輸出成為非壓縮的顏色數(shù)據(jù),例如YUV420P,RGB等等凯砍;壓縮編碼的音頻數(shù)據(jù)輸出成為非壓縮的音頻抽樣數(shù)據(jù)箱硕,例如PCM數(shù)據(jù)。
視音頻同步的作用悟衩,就是根據(jù)解封裝模塊處理過程中獲取到的參數(shù)信息剧罩,同步解碼出來的視頻和音頻數(shù)據(jù),并將視頻音頻數(shù)據(jù)送至系統(tǒng)的顯卡和聲卡播放出來座泳。

YUV/RGB數(shù)據(jù)像素處理
解碼流
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惠昔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挑势,更是在濱河造成了極大的恐慌镇防,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潮饱,死亡現(xiàn)場離奇詭異来氧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)香拉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門啦扬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凫碌,你說我怎么就攤上這事考传。” “怎么了证鸥?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵僚楞,是天一觀的道長。 經(jīng)常有香客問我枉层,道長泉褐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任鸟蜡,我火速辦了婚禮膜赃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘揉忘。我一直安慰自己跳座,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布泣矛。 她就那樣靜靜地躺著疲眷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪您朽。 梳的紋絲不亂的頭發(fā)上狂丝,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼几颜。 笑死倍试,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛋哭。 我是一名探鬼主播县习,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谆趾!你這毒婦竟也來了躁愿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤棺妓,失蹤者是張志新(化名)和其女友劉穎攘已,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怜跑,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡样勃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了性芬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峡眶。...
    茶點(diǎn)故事閱讀 39,745評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖植锉,靈堂內(nèi)的尸體忽然破棺而出辫樱,到底是詐尸還是另有隱情,我是刑警寧澤俊庇,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布狮暑,位于F島的核電站,受9級特大地震影響辉饱,放射性物質(zhì)發(fā)生泄漏搬男。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一彭沼、第九天 我趴在偏房一處隱蔽的房頂上張望缔逛。 院中可真熱鬧,春花似錦姓惑、人聲如沸褐奴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敦冬。三九已至,卻和暖如春望众,著一層夾襖步出監(jiān)牢的瞬間匪补,已是汗流浹背伞辛。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工烂翰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夯缺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓甘耿,卻偏偏與公主長得像踊兜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子佳恬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容