今天在收集視頻類的API信息的時(shí)候蛙奖,收獲也是比較多的,一般來(lái)說(shuō)杆兵,API開(kāi)發(fā)成本還是比較合適雁仲,對(duì)接也較簡(jiǎn)單,可以快速驗(yàn)證商業(yè)模式和用戶體驗(yàn)琐脏,換一句話說(shuō)可以適用MVP產(chǎn)品攒砖,但同時(shí)API經(jīng)過(guò)對(duì)接平臺(tái),服務(wù)商也會(huì)獲取你平臺(tái)的相關(guān)數(shù)據(jù)日裙。說(shuō)完了收獲吹艇,再說(shuō)一下,由于自己比較好奇昂拂,研究了一下視頻播放的邏輯受神。
其實(shí)視頻就是連續(xù)的圖像變化每秒超過(guò)24幀畫面以上時(shí),根據(jù)視覺(jué)暫留原理格侯,人眼無(wú)法辨別單幅的靜態(tài)畫面鼻听;看上去是平滑連續(xù)的視覺(jué)效果,這樣連續(xù)的畫面叫就做視頻联四,概括其實(shí)視頻就是一幀一幀的圖片撑碴。
那么24幀指的是什么呢?就是幀率朝墩,指的是視頻格式每秒鐘播放的靜態(tài)畫面數(shù)量醉拓。典型的畫面更新率由早期的每秒6或8張,至現(xiàn)今的每秒120張不等收苏。
我們儲(chǔ)存一部90分鐘沒(méi)壓縮的電影需要296GB的亿卤,2部電影便可占滿我們電腦整個(gè)硬盤,所以我們需要對(duì)視頻進(jìn)行壓縮倒戏,這種視頻壓縮技術(shù)就是我們所說(shuō)的編碼怠噪。解碼就是將編碼的視頻解壓縮處理。
封裝格式指的是壓縮過(guò)的視頻數(shù)據(jù)和音頻數(shù)據(jù)打包成一個(gè)文件的規(guī)范杜跷。我們常見(jiàn)的mp4,flv矫夷,avi葛闷,rmvb,mkv等双藕,都是代表視頻的封裝格式淑趾。
以上就是視頻播放的基本要理解的知識(shí)點(diǎn)了,分別是視頻含義忧陪、幀率扣泊、解編碼近范、封裝格式,其實(shí)播放視頻的基本流程就是:解協(xié)議 → 解封裝 → 解碼 → 視音頻同步延蟹。
解協(xié)議:
就是將流媒體協(xié)議的數(shù)據(jù)评矩,解析為標(biāo)準(zhǔn)的相應(yīng)的封裝格式數(shù)據(jù)。視音頻在網(wǎng)絡(luò)上傳播的時(shí)候阱飘,常常采用各種流媒體協(xié)議斥杜,這些協(xié)議在傳輸視音頻數(shù)據(jù)的同時(shí),也會(huì)傳輸一些信令數(shù)據(jù)沥匈。這些信令數(shù)據(jù)包括對(duì)播放的控制(播放蔗喂,暫停,停止)高帖,或者對(duì)網(wǎng)絡(luò)狀態(tài)的描述等缰儿。解協(xié)議的過(guò)程中會(huì)去除掉信令數(shù)據(jù)而只保留視音頻數(shù)據(jù)。
解封裝:
就是將輸入的封裝格式的數(shù)據(jù)散址,分離成為音頻流壓縮編碼數(shù)據(jù)和視頻流壓縮編碼數(shù)據(jù)乖阵。它的作用就是將已經(jīng)壓縮編碼的視頻數(shù)據(jù)和音頻數(shù)據(jù)按照一定的格式放到一起。
解碼:
就是將視頻/音頻壓縮編碼數(shù)據(jù)爪飘,解碼成為非壓縮的視頻/音頻原始數(shù)據(jù)义起。解碼是整個(gè)系統(tǒng)中最重要也是最復(fù)雜的一個(gè)環(huán)節(jié)。通過(guò)解碼师崎,壓縮編碼的視頻數(shù)據(jù)輸出成為非壓縮的顏色數(shù)據(jù)默终;壓縮編碼的音頻數(shù)據(jù)輸出成為非壓縮的音頻抽樣數(shù)據(jù)。
視音頻同步:
就是根據(jù)解封裝模塊處理過(guò)程中獲取到的參數(shù)信息犁罩,同步解碼出來(lái)的視頻和音頻數(shù)據(jù)齐蔽,并將視頻音頻數(shù)據(jù)送至系統(tǒng)的顯卡和聲卡播放出來(lái)。