Android音視頻-視頻基礎

和前面的音頻開發中一樣,視頻也有很多專有的名次和概念,我們的瞭解其基礎,在後面才能更加順暢。

基礎知識

  • 視頻分辨率
    物理顯示畫面的寬度和高度即視頻文件打開的尺寸屬性,例如1920X960。
    我們在看視頻的時候有標清,高清,720P一說,這個和實際尺寸有啥關係。

    • 標清:分辨率在1280X720(720P)以下的視頻格式,這個比較以高度720爲界限,低於垂直分辨率720的爲標清。
    • 高清:垂直分辨率大於等於720,並且寬高比最少爲16:9。不能低於1280X720。

    至於我們切換標清和高清有不同的清晰度。分辨率不代表清晰度,它只是尺寸,感覺是用戶好記一些整那些數字不知道是啥。至於不同的清晰度不同,要了解下面的概念碼率了。

  • 碼率
    碼率是數據傳輸時單位時間傳送的數據位數,單位一般時kbps即千位每秒。碼率影響視頻文件的大小和清晰度,但是碼率超過一定的數值對圖像的清晰度就沒有多大影響。不同的壓縮編碼,要達到同樣的清晰度,所需碼率不同。
    文件大小(b)=碼率(b/s)*時長(s)
    所以我們知道視頻畫質和碼率,編碼算法有關係,不能說由某一個可以完全決定。

  • 幀率
    這個中文名有些陌生,但是FPS這個名字我們很常見。(特別是玩遊戲時)它指沒秒顯示的圖片數,或者GPU每秒能夠更新的次數。幀率越高可以看到更加流暢的畫面,同時文件大小會增加。我們人眼在30fps的時候就可以認爲很流暢了,60fps可以有很好的體驗了,太大也沒有必要,我們人眼不會有明顯的感知,又浪費了文件大小。

  • 位深度
    每一個像素用多少位表示,位數就叫做位深度,數值越大,可用的顏色越多,顏色也越逼真。例如位深度爲8則一個像素可用的顏色爲256種。

視頻格式

視頻格式我們最常見的就是mp4了,其實還有很多,例如avi,rmvb,等等。這些把視頻和音頻數據放到一起的格式,就像一個容器,它叫做封裝格式。另外對於音視頻的數據內容要經過壓縮編碼的。例如視頻mpeg4,H.264這些是用來壓縮編碼視頻的,我們前面瞭解到音頻的mp3,aac編碼格式,它們是壓縮編碼音頻的。這些用於壓縮編碼的稱爲編碼格式。

封裝格式

按照一定規則將視頻軌道,可能多個音頻軌道,字幕等視頻文件組裝在一起。它是一個容器,放了很多視頻文件的零散信息。但是它不會影響視頻的畫質的,並沒有對視頻的原始數據進行處理,影響畫質的是視頻的編碼格式。

編碼格式

在前面我們瞭解了音頻的編碼,視頻也有一個相同的目的,編碼來壓縮。不同編碼方式區別是壓縮算法的不同。常用的編碼格式有H.26X系列,MPEG系列等等。每一個編碼格式瞭解起來都是大課題。
H.264參考
MPEG官網

Android 支持的多媒體格式參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章