Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Multimedia框架總結(五)多媒體基礎概念

Android Multimedia框架總結(五)多媒體基礎概念

編輯:關於Android編程

上篇中介紹了MediaPlayer從prepare到playback的其他過程,但是很多的一些音視頻的基礎概念可能還不是很清楚,今天將介紹下對於多媒體開發時,常常有一些基本概念。看下今天的Agenda:

對雜而亂的概念進行歸類 視頻部分相關 音頻部分相關

先看一張圖,這樣常常在說的,是否真的了解它們真實含義:

 

這裡寫圖片描述

 

對雜而亂的概念進行歸類

視頻分辨率

標清、高清、720P… 標清:意思就是“標准清晰度”,是物理分辨率在720p以下的視頻格式。所謂標清,英文為“Standard Definition”,是物理分辨率在1280P*720P以下的一種視頻格式,是指視頻的垂直分辨率為720線逐行掃描。具體的說,是指分辨率在400線左右的VCD、DVD、電視節目等“標清”視頻格式,即標准清晰度。 高清:而物理分辨率達到720p以上的格式則稱作為高清,英文表述High Definition,簡稱HD。作為“高清”的入門級標准,720p是指視頻的垂直分辨率為720線逐行掃描,也就是說電視的屏幕必須能夠同時、完整地顯示720條橫線。如果用顯示器中常見的分辨率A×B的形式來表示,則720p的分辨率至少必須是1280×720,此外常見的1280×1024、1280×768、1280×800等分辨率也都支持720p高清格式。反過來再看標清的分辨率,我們經常接觸到的是640×480、720×576或者800×600這些分辨率,它們在垂直分辨率上都不到720線,因此不屬於“高清”范疇。那麼,是不是只要垂直分辨率達到720線,就能稱為高清呢?答案是否定的。關於高清的標准,國際上公認的有兩條:視頻垂直分辨率超過720p或1080i(p代表逐行掃描,i代表隔行掃描,這個概念和CRT電視基本相同),同時視頻寬縱比為16:9。對於垂直分辨率我們已經有了直觀的認識,而所謂寬縱比,其實就是視頻畫面的“長寬比”,如果用一個矩形來表示,那麼它的長和寬的比例必須符合16:9——也就是我們俗稱的“寬屏”或者“寬銀幕”。按照這個比例推算,則720p的分辨率至少為1280×720,這樣才符合16:9的要求,因此這也就是720p的標准分辨率。 看最後總結:其實“高清”和“標清”不能簡單的比較,它們只是二種不同的視頻格式,它們都可以裝載各種不同質量的視頻信號,因此實際質量與所裝載的視頻信號質量有很大的關系,這相當於用水缸和茶杯裝水,水缸可以裝一大缸水,也可以只裝一杯水,當只裝一杯水的時候就不能說它裝的水比茶杯中的一杯水要多了。 視頻編碼

H.264、H.265… H.264: 是MPEG-4(MPEG-4是MPEG格式的一個壓縮標准)第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC動態圖像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標准。這個標准通常被稱之為H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明確的說明它兩方面的開發者。 H.264優點:

1.低碼率(Low Bit Rate):和MPEG2和MPEG4 ASP等壓縮技術相比,在同等圖像質量下,采用H.264技術壓縮後的數據量只有MPEG2的1/8,MPEG4的1/3。

2.高質量的圖像:H.264能提供連續、流暢的高質量圖像(DVD質量)。

3.容錯能力強:H.264提供了解決在不穩定網絡環境下容易發生的丟包等錯誤的必要工具。

4.網絡適應性強:H.264提供了網絡抽象層(Network Abstraction Layer),使得H.264的文件能容易地在不同網絡上傳輸(例如互聯網,CDMA,GPRS,WCDMA,CDMA2000等)。

H.264最大的優勢是具有很高的數據壓縮比率,在同等圖像質量的條件下,H.264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。舉個例子,原始文件的大小如果為88GB,采用MPEG-2壓縮標准壓縮後變成3.5GB,壓縮比為25∶1,而采用H.264壓縮標准壓縮後變為879MB,從88GB到879MB,H.264的壓縮比達到驚人的102∶1。低碼率(Low Bit Rate)對H.264的高的壓縮比起到了重要的作用,和MPEG-2和MPEG-4 ASP等壓縮技術相比,H.264壓縮技術將大大節省用戶的下載時間和數據流量收費。尤其值得一提的是,H.264在具有高壓縮比的同時還擁有高質量流暢的圖像,正因為如此,經過H.264壓縮的視頻數據,在網絡傳輸過程中所需要的帶寬更少,也更加經濟。 H.265: H.265是ITU-T VCEG 繼H.264之後所制定的新的視頻編碼標准。H.265標准圍繞著現有的視頻編碼標准H.264,保留原來的某些技術,同時對一些相關的技術加以改進。新技術使用先進的技術用以改善碼流、編碼質量、延時和算法復雜度之間的關系,達到最優化設置. H.265特點:H.265旨在在有限帶寬下傳輸更高質量的網絡視頻,僅需原先的一半帶寬即可播放相同質量的視頻。這也意味著,我們的智能手機、平板機等移動設備將能夠直接在線播放1080p的全高清視頻。H.265標准也同時支持4K(4096×2160)和8K(8192×4320)超高清視頻。 附一張視頻編碼發展時間圖:

 

這裡寫圖片描述

 

音頻編碼

AAC、MP3、AC3… AAC: 一種專為聲音數據設計的文件壓縮格式,與MP3不同,它采用了全新的算法進行編碼,更加高效,具有更高的“性價比”。利用AAC格式,可使人感覺聲音質量沒有明顯降低的前提下,更加小巧。蘋果ipod、諾基亞手機也支持AAC格式的音頻文件。

AAC優點:相對於mp3,AAC格式的音質更佳,文件更小。

AAC不足:AAC屬於有損壓縮的格式,與時下流行的APE、FLAC等無損格式相比音質存在“本質上”的差距。加之,傳輸速度更快的USB3.0和16G以上大容量MP3正在加速普及,也使得AAC頭上“小巧”的光環不復存在了。 MP3: MP3是一種音頻壓縮技術,其全稱是動態影像專家壓縮標准音頻層面3(Moving Picture Experts Group Audio Layer III),簡稱為MP3。它被設計用來大幅度地降低音頻數據量。利用 MPEG Audio Layer 3 的技術,將音樂以1:10 甚至 1:12 的壓縮率,壓縮成容量較小的文件,而對於大多數用戶來說重放的音質與最初的不壓縮音頻相比沒有明顯的下降。 MP3特點:MP3是利用人耳對高頻聲音信號不敏感的特性,將時域波形信號轉換成頻域信號,並劃分成多個頻段,對不同的頻段使用不同的壓縮率,對高頻加大壓縮比(甚至忽略信號)對低頻信號使用小壓縮比,保證信號不失真。這樣一來就相當於拋棄人耳基本聽不到的高頻聲音,[1] 只保留能聽到的低頻部分,從而將聲音用1∶10甚至1∶12的壓縮率壓縮。由於這種壓縮方式的全稱叫MPEG Audio Player3,所以人們把它簡稱為MP3。 視頻封裝格式

TS、m3u8…

經常說的TS流,或者說傳一個m3u8地址過來,指的都是視頻的封裝格式。如果放到浏覽器中請求時,就會寫成一個流文件,可以打開看,裡面就是傳的播放視頻的幀。也可以把視頻封裝成TS文件,然後用播放器進行播放。m3u8可以做多碼率的適配,根據網絡帶寬,客戶端會選擇一個適合自己碼率的文件進行播放,保證視頻流的流暢。 多媒體播放組件(Android)

MediaPlayer、MediaCodec、OMX、Stagefright MediaPlayer:播放控制 MediaCodec: 音視頻編解碼 OMX:多媒體部分采用的編解碼標准 Stagefright:一個框架,替代之前的opencore,主要是做了一個OMX層,僅僅是對 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService這一層加入的,和opencore是並列的。Stagefright在 Android中是以shared library的形式存在(libstagefright.so),其中的module – AwesomePlayer可用來播放video/audio。 AwesomePlayer提供許多API,可以讓上層的應用程序(Java/JNI)來調用。(後面文章會詳細介紹這個框架) … …

視頻部分相關

 

這裡寫圖片描述

 

分辨率

一幀視頻的大小,表示長寬像素個數(720x576, 1280x720, 1920x1080 …) 屏幕圖像的精密度,是指一幀視頻圖像所能顯示的像素有多少。由於屏幕上的點、線和面都是由像素組成的,可顯示的像素越多,畫面就越精細,同樣的屏幕區域內能顯示的信息也越多,所以分辨率是個非常重要的性能指標之一。可以把整個圖像想象成是一個大型的棋盤,而分辨率的表示方式就是所有經線和緯線交叉點的數目。顯示分辨率一定的情況下,顯示屏越小圖像越清晰,反之,顯示屏大小固定時,顯示分辨率越高圖像越清晰。 幀率

每秒鐘視頻幀數(24/25/30/48/60 FPS) 由於人類眼睛的特殊生理結構,如果所看畫面之幀率高於24的時候,就會認為是連貫的,此現象稱之為視覺暫留。這也就是為什麼電影膠片是一格一格拍攝出來,然後快速播放的。

而對游戲,一般來說,第一人稱射擊游戲比較注重FPS的高低,如果FPS<30的話,游戲會顯得不連貫。所以有一句有趣的話:“FPS(指FPS游戲)重在FPS(指幀率)。 每秒的幀數(fps)或者說幀率表示圖形處理器處理場時每秒鐘能夠更新的次數。高的幀率可以得到更流暢、更逼真的動畫。一般來說30fps就是可以接受的,但是將性能提升至60fps則可以明顯提升交互感和逼真感,但是一般來說超過75fps一般就不容易察覺到有明顯的流暢度提升了。如果幀率超過屏幕刷新率只會浪費圖形處理的能力,因為監視器不能以這麼快的速度更新,這樣超過刷新率的幀率就浪費掉了。 刷新率

刷新頻率:即屏幕刷新的速度。 刷新頻率越低,圖像閃爍、停頓和抖動的就越厲害,眼睛疲勞得就越快。

采用70Hz以上的刷新頻率時才能基本消除閃爍,顯示器最好穩定工作在允許的最高頻率下,一般是85Hz。 編碼格式

編碼:目的是壓縮數據量,采用編碼算法壓縮冗余數據 MPEG(MPEG-2, MPEG-4) H.26X(H.263, H.264/AVC, H.265/HEVC) 封裝格式

把編碼後的音、視頻數據以一定格式封裝到一個容器 MKV/AVI/TS … 碼率

每秒鐘視頻數據的比特位數(bps) 文件大小(b) = 碼率(b/s) * 時長(s) 畫質 vs 碼率

碼率越大,畫質越好,視頻越流暢嗎?(錯) 視頻質量和碼率、編碼算法都有關系

本文出自逆流的魚yuiop:http://blog.csdn.net/hejjunlin/article/details/52431887

音頻部分相關

 

這裡寫圖片描述

 

編碼格式

有損編碼: AAC/MP3/AMR/WMA 無損編碼: WAV/FLAC/APE/ALAC 補充:用無損編碼壓縮的數據是可以完全恢復的,解碼後的數據一原始數據完全一致,壓縮比較小;有損編碼在編碼過程中要丟失不易察覺的信息,且丟失的數據不可恢復,壓縮比較大 量化精度

可以將模擬信號分成多少個等級,量化精度越高,音樂的聲壓振幅越接近原音樂. 量化精度的單位是Bit,CD標准的量化精度是16Bit,DVD標准的量化精度是24Bit。 也可理解為一個采樣點用多少bit表示(8/16/24/32bit) 采樣率

每秒鐘音頻采樣點個數(8000/44100Hz) 采樣率單位用Hz(赫茲)表示 聲道數目

立體聲,5.1,7.1聲道 立體聲:聲音在錄制過程中被分配到兩個獨立的聲道,從而達到了很好的聲音定位效果。這種技術在音樂欣賞中顯得尤為有用,聽眾可以清晰地分辨出各種樂器來自的方向,從而使音樂更富想象力,更加接近於臨場感受。立體聲技術廣泛運用於自Sound Blaster Pro以後的大量聲卡,成為了影響深遠的一個音頻標准。 5.1聲道:其實5.1聲音系統來源於4.1環繞,不同之處在於它增加了一個中置單元。這個中置單元負責傳送低於80Hz的聲音信號,在欣賞影片時有利於加強人聲,把對話集中在整個聲場的中部,以增加整體效果。杜比AC-3(Dolby Digital)、DTS等都是以5.1聲音系統為技術藍本的。相信每一個真正體驗過Dolby AC-3音效的朋友都會為5.1聲道所折服。現在廣泛用於傳統影院和家庭影院。 音頻幀

一定數目的采樣點數的集合 編碼: 基本編碼單元 舉例: 音頻幀的播放時間 = 一個AAC幀對應的采樣樣本的個數 / 采樣頻率(單位為s)。

采樣率(samplerate)為 44100Hz,表示每秒 44100個采樣點,

所以,根據公式,

音頻幀的播放時長 = 一個AAC幀對應的采樣點個數 / 采樣頻率

則,當前一幀的播放時間 = 1024 * 1000000/44100= 22.32ms(單位為ms)

48kHz采樣率:

則,當前一幀的播放時間 = 1024 * 1000000/48000= 21.32ms(單位為ms)

22.05kHz采樣率:

則,當前一幀的播放時間 = 1024 * 1000000/22050= 46.43ms(單位為ms)

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved