一部童年電影帶你搞懂,音視頻開發到底是個啥玩意

音視頻開發

到底是個什麼東西?


在一個夜黑風高的晚上,一顆激動的心,一雙顫抖的手,點開了那個神祕的網站。


進去後,一股東京的熱浪撲面而來。那一刻,眼前電影的激情絲毫不遜色於好萊塢大片。


那狂野而又原始的咆哮,刺激着你身體的每一個細胞。


你也情不自禁的隨着電影動了起來。


兩分鐘後,隨着身體的一陣顫抖,整部電影變得索然無味。


進入了賢者模式的小馬開始思考,這麼精彩的電影,是怎麼呈現到我面前的呢?


 

1

步驟分析

 

假設電影的主角名叫小澤。那麼小澤老師從拍電影,到你看電影這中間,發生了什麼呢?

簡單來說,音視頻開發就是要掌握圖像、視頻、音頻的基本知識,並對它們實施採集、渲染、處理、傳輸等一系列操作。


  • 採集

首先,肯定得需要一臺攝像機....咳咳,沒錯,攝像機一秒鐘可以捕獲30張小澤的照片,也就是30幀。也就是我們所看到的:視頻


光看畫面肯定是不行的,怎麼能沒有小澤老師甜美的聲音呢。所以,我們還需要麥克風,來採集小澤的聲音,也就是我們所聽到的:音頻


  • 編碼

聲音和視頻的數據特別大,並且重複數據很多。爲了傳輸和存儲,需要將冗餘數據去掉,這就需要編碼。什麼h264,h265說的就是編碼的算法


原始數據爲什麼要編碼呢?直接保存不行麼,其實主要是爲了減小文件的大小,便於傳輸和保存。如果不經過編解碼處理,那一部幾分鐘的電影可能就要幾個G大小。那麼大的文件,想象一下你在偷偷下載或者拷貝的時候,是多麼的焦慮。


  • 封裝

編碼後的數據會被封裝起來。相當於Java的容器,可以有hashmap,linkedList的,音視頻的格式類型可以有MP4、MKV等等封裝格式。


  • 傳輸

傳輸解決的就是小澤老師的作品,是怎麼通過播放器(平臺)呈現到你面前的問題了。你既可以看小澤老師的直播,也可以看小澤老師的視頻。既可以在線看,也可以下載後離線觀看。甚至可以從隔壁小馬的U盤裏拷貝過來,這都是傳輸路徑。數據共享最重要的一點就是傳輸協議。產生的帶寬不一樣,費用也不同。


  • 解封裝

播放器首先會解封裝,將小澤的身姿(視頻),甜美的聲音(音頻)等數據解析出來。


  • 解碼

解析出來的數據不能夠被播放器直接使用,所以還需要視頻解碼(以前的播放器加載的時候會顯示解碼中,小夥伴們應該都看到過,比如現在的bilibili)。回到主題,攝像機所採集的數據是需要通過編碼纔可以封裝成MP4的,所以當播放器將視頻提取出來的時候,也就需要解碼纔可以播放出來。


  • 渲染播放

無論是哪個平臺、哪個播放器。圖像、視頻最終都是要繪製到視圖上面,而音頻最終都是要輸出到揚聲器。平臺(播放器)將解碼後的視頻、音頻同步後,分別交給視頻驅動(顯卡)和音頻驅動(揚聲器)。就是最終呈現在你面前的小電影了。


用一張流程圖總結一下:


看到這裏大家是不是覺得Android音視頻開發好像也就那麼回事呢?理解起來也不難嘛。


爲了要大家更輕鬆無痛的上手學習Android音視頻開發。我特邀前愛奇藝高級工程師Lance爲大家帶來《Android--音視頻開發實戰》直播分享,兩天時間,秋名山車神帶你熟練掌握音視頻編碼實戰、泛娛樂直播系統分析和推流實戰!


 Lance老師 

前愛奇藝高級工程師,某遊戲公司主程

專精領域:移動平臺開發,NDK、架構、性能優化;

 

2

適合人羣
  • 具備移動開發基礎;

  • 具備一定自學能力;

  • 立志成爲高級工程師、架構師的安卓開發者;

 

3

課程大綱

3.15 Android音視頻編解碼實戰

  • 音視頻編解碼原理

  • h264碼流分析

  • Android 編碼實踐


3.16 泛娛樂直播系統分析與推流實戰

  • 直播系統組成與流媒體協議

  • RTMP協議規範

  • 手機端推流器實踐

 

4

專屬福利

《Android音視頻開發入門進階核心筆記》



音視頻知識龐雜,通俗易懂的資料非常少,目前也沒有比較系統的教程或者書籍,網上的博客文章也都是比較零散的,可能還充斥着大量的錯誤信息,使得很多初學者掉到坑裏就爬不出來了。有了這份學習筆記,可以助你在音視頻學習中節省大量時間。

 

5

報名參加

文中福利免費贈給參加訓練營的學員

加薇薇老師微信報名訓練營

立即獲取

(如遇掃碼頻繁受限,點擊左下角的閱讀原文

本文分享自微信公衆號 - 音視頻開發進階(glumes_blog)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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