音視頻開發(fā)-音頻嘗鮮

在安逸的知識領(lǐng)域待久了,人就變得迷茫的。接觸了音視頻開發(fā)汰翠,打算一步步學(xué)起。Android預(yù)備的知識有音視頻的基礎(chǔ)知識璃俗、openGl的知識和最主要的Ffmeng知識奴璃。

音視頻的基礎(chǔ)

AndioRecord是Android系統(tǒng)提供的用于實現(xiàn)錄音的功能類

AudioTrack可以完成Android平臺上音頻數(shù)據(jù)的輸出任務(wù)

  • MODE_STREAM:在這種模式下,通過write一次次把音頻數(shù)據(jù)寫到AudioTrack中城豁。
  • MODE_STATIC:這種模式下苟穆,在play之前只需要把所有數(shù)據(jù)通過一次write調(diào)用傳遞到AudioTrack中的內(nèi)部緩沖區(qū),后續(xù)就不必再傳遞數(shù)據(jù)了唱星。

Camera采集視頻數(shù)據(jù)并保存到文件雳旅,分別使用 SurfaceView、TextureView 來預(yù)覽 Camera 數(shù)據(jù)

MediaExtractor的作用是把音頻和視頻的數(shù)據(jù)進(jìn)行分離间聊。

MediaMuxer的作用是生成音頻或視頻文件攒盈;還可以把音頻與視頻混合成一個音視頻文件

MediaCodec類可以用于使用一些基本的多媒體編解碼器

  • 編解碼器能處理的數(shù)據(jù)類型為:壓縮數(shù)據(jù)、原始音頻數(shù)據(jù)和原始視頻數(shù)據(jù)哎榴。你可以通過ByteBuffers能夠處理這三種數(shù)據(jù)型豁,但是需要你提供一個Surface,用于對原始的視頻數(shù)據(jù)進(jìn)行展示尚蝌,這樣也能提高編解碼的性能迎变。Surface使用的是本地的視頻緩沖區(qū),這個緩沖區(qū)不映射或拷貝到ByteBuffers飘言。這樣的機制讓編解碼器的效率更高衣形。通常在使用Surface的時候,無法訪問原始的視頻數(shù)據(jù)姿鸿,但是你可以使用ImageReader訪問解碼后的原始視頻幀谆吴。在使用ByteBuffer的模式下,您可以使用Image類和getInput/OutputImage(int)訪問原始視頻幀

PCM采集:
音頻:模擬信號->采樣->量化->編碼->數(shù)字信號

視頻編碼中H264是目前最主流的視頻編碼標(biāo)準(zhǔn)

在H264中苛预,三種類型的幀數(shù)據(jù)分別為

I幀:幀內(nèi)編碼幀句狼。就是一個完整幀。

P幀:前向預(yù)測編碼幀热某。是一個非完整幀鲜锚,通過參考前面的I幀或P幀生成突诬。

B幀:雙向預(yù)測內(nèi)插編碼幀。參考前后圖像幀編碼生成芜繁。B幀依賴其前最近的一個I幀或P幀及其后最近的一個P幀

音頻編碼以AAC編碼為主

AAC格式主要分為兩種:ADIF旺隙、ADTS。

ADIF:Audio Data Interchange Format骏令。 音頻數(shù)據(jù)交換格式蔬捷。這種格式的特征是可以確定的找到這個音頻數(shù)據(jù)的開始,不需進(jìn)行在音頻數(shù)據(jù)流中間開始的解碼榔袋,即它的解碼必須在明確定義的開始處進(jìn)行周拐。這種格式常用在磁盤文件中。

ADTS:Audio Data Transport Stream凰兑。 音頻數(shù)據(jù)傳輸流妥粟。這種格式的特征是它是一個有同步字的比特流,解碼可以在這個流中任何位置開始吏够。它的特征類似于mp3數(shù)據(jù)流格式勾给。

做個簡單的音視頻播放器

未完待續(xù)~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锅知,隨后出現(xiàn)的幾起案子播急,更是在濱河造成了極大的恐慌,老刑警劉巖售睹,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桩警,死亡現(xiàn)場離奇詭異,居然都是意外死亡昌妹,警方通過查閱死者的電腦和手機捶枢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來飞崖,“玉大人烂叔,你說我怎么就攤上這事⊙晾鳎” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵畜眨,是天一觀的道長昼牛。 經(jīng)常有香客問我,道長康聂,這世上最難降的妖魔是什么贰健? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮恬汁,結(jié)果婚禮上伶椿,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好脊另,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布导狡。 她就那樣靜靜地躺著,像睡著了一般偎痛。 火紅的嫁衣襯著肌膚如雪旱捧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天踩麦,我揣著相機與錄音枚赡,去河邊找鬼。 笑死谓谦,一個胖子當(dāng)著我的面吹牛贫橙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播反粥,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼卢肃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了星压?” 一聲冷哼從身側(cè)響起践剂,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娜膘,沒想到半個月后逊脯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡竣贪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年军洼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片演怎。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡匕争,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出爷耀,到底是詐尸還是另有隱情甘桑,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布歹叮,位于F島的核電站跑杭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咆耿。R本人自食惡果不足惜德谅,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萨螺。 院中可真熱鬧窄做,春花似錦愧驱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至庸汗,卻和暖如春惫确,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚯舱。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工改化, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人枉昏。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓陈肛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兄裂。 傳聞我的和親對象是個殘疾皇子句旱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

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