前言 最近一直在整理草稿箱,發(fā)現(xiàn)兩年前記載過(guò)Coil圖片加載框架的筆記以及部分源碼分析轧坎,相比于似乎是上個(gè)時(shí)代的Fresco宏邮,Coil似乎是新時(shí)代產(chǎn)物:輕量,易拓展,優(yōu)雅蜀铲,完全...

前言 最近一直在整理草稿箱,發(fā)現(xiàn)兩年前記載過(guò)Coil圖片加載框架的筆記以及部分源碼分析轧坎,相比于似乎是上個(gè)時(shí)代的Fresco宏邮,Coil似乎是新時(shí)代產(chǎn)物:輕量,易拓展,優(yōu)雅蜀铲,完全...
前言 我們?cè)谇懊娴膸灼恼轮薪榻B了MP4的視頻文件格式,以及MP4文件內(nèi)封裝的AAC音頻數(shù)據(jù)格式和H.264視頻碼流记劝。 FFmpeg開(kāi)發(fā)——深入理解MP4文件格式[https...
前言 前文我們分析了MP4文件封裝格式变姨,以及MP4文件中的AAC音頻的數(shù)據(jù)格式,接下來(lái)我們需要了解一下MP4文件中的視頻數(shù)據(jù)經(jīng)常采用的h.264編解碼方法以及其中涉及到的一些...
前言 前一篇文章我們分析了MP4文件的文件格式厌丑,接下來(lái)我們深入文件內(nèi)定欧,分析它的數(shù)據(jù)格式,今天我們主要主要分析的是音頻格式AAC怒竿。AAC全稱(chēng)Advanced Audio Cod...
前言 上上篇文章我們實(shí)現(xiàn)了一個(gè)小demo:通過(guò)ffmpeg讀取視頻砍鸠,然后截取一幀或幾幀視頻幀,轉(zhuǎn)換色彩空間YUV為RGB耕驰,然后保存為圖片爷辱。展示了ffmpeg開(kāi)發(fā)的基本方法,當(dāng)...
前言 前面我們通過(guò)介紹音視頻的基本概念朦肘,ffmpeg基本工作框架饭弓,以及使用一個(gè)小demo來(lái)實(shí)踐我們的知識(shí),可以說(shuō)算是對(duì)ffmpeg有了一個(gè)基本的認(rèn)識(shí)媒抠。 接下來(lái)想要在目前的基礎(chǔ)...
前言 書(shū)接上回弟断,我們比較詳細(xì)的介紹了ffmpeg開(kāi)發(fā)過(guò)程中會(huì)接觸到的主要結(jié)構(gòu)體,當(dāng)然趴生,其實(shí)還有AVFilter模塊阀趴,但是對(duì)于初學(xué)者而言,忽略掉過(guò)濾器部分也無(wú)傷大雅苍匆,并不影響對(duì)...
前言 書(shū)接上回刘急,我們介紹了ffmpeg的一些基礎(chǔ)知識(shí),使用方法浸踩,接下來(lái)介紹如何使用ffmpeg進(jìn)行開(kāi)發(fā)排霉,所謂使用ffmpeg進(jìn)行開(kāi)發(fā),就是依賴(lài)它的基礎(chǔ)庫(kù)民轴,調(diào)用它的API來(lái)實(shí)現(xiàn)...
關(guān)于ffmpeg 關(guān)于ffmpeg,我們首先需要知道它是什么球订,ffmpeg官網(wǎng)對(duì)ffmpeg進(jìn)行了定義: 一個(gè)針對(duì)音視頻的錄制/轉(zhuǎn)換/串流傳輸?shù)目缙脚_(tái)解決方案后裸。 當(dāng)然,在ab...
前言 前文講到Android音視頻開(kāi)發(fā)框架中的上半段:音視頻的創(chuàng)建冒滩,編碼微驶,保存,這個(gè)屬于音視頻資源生產(chǎn)端的過(guò)程。在消費(fèi)端因苹,還需要經(jīng)歷讀取苟耻,解碼,播放這三個(gè)節(jié)點(diǎn)扶檐。 音視頻讀取 ...
前言 音頻或者視頻凶杖,是今天互聯(lián)網(wǎng)上被使用得最廣泛也最受歡迎的信息媒介,可以肯定這個(gè)趨勢(shì)為未來(lái)很長(zhǎng)一段時(shí)間都不會(huì)改變款筑,因此對(duì)于開(kāi)發(fā)者而言智蝠,深入的了解這塊內(nèi)容是很有必要的。 音視...
前言 對(duì)于操作系統(tǒng)而言奈梳,圖形顯示部分是非常重要的一個(gè)模塊杈湾,用來(lái)承載用戶(hù)交互與內(nèi)容展示,因此本文其實(shí)無(wú)法對(duì)Android的顯示系統(tǒng)做非常詳盡的分析攘须,因?yàn)槿绻菢拥脑?huà)可能需要一個(gè)...
顏色編碼 視頻漆撞,本質(zhì)上就是一連串的靜態(tài)圖片的播放過(guò)程。因此我們對(duì)于視頻的的討論都可以回到圖片中去于宙。 對(duì)于圖片而言浮驳,可以分為兩種顏色編碼方法來(lái)表示圖片:RGB和YUV。 RGB...
在音頻開(kāi)發(fā)過(guò)程中限煞,總會(huì)面對(duì)很多音頻領(lǐng)域的一些專(zhuān)業(yè)名詞抹恳,如果不能理解這些名詞,可能會(huì)對(duì)開(kāi)發(fā)領(lǐng)過(guò)程造成極大的困擾署驻,在進(jìn)入一些新領(lǐng)域時(shí)奋献,熟悉這個(gè)領(lǐng)域常用的概念是很有必要的,可以極大...
在上一篇文章中旺上,我們解釋了操作系統(tǒng)的虛擬內(nèi)存的概念和實(shí)現(xiàn)原理瓶蚂,以及基于此的native hook的實(shí)現(xiàn)原理,接下來(lái)我們要講的就是native hook的一種實(shí)現(xiàn):plt/go...
前言 根據(jù)前面兩篇文章所介紹的ELF文件的結(jié)構(gòu)宣吱。如何實(shí)現(xiàn)native hook已經(jīng)初具雛形窃这,但是如果你仔細(xì)思考會(huì)發(fā)現(xiàn)一個(gè)盲點(diǎn),那就是我們分析ELF文件時(shí)征候,是存盤(pán)存儲(chǔ)的格式杭攻,但...
前言 上一篇文章我們介紹了ELF文件的整體結(jié)構(gòu),可以說(shuō)操作系統(tǒng)就是ELF Header,SHT,PHT來(lái)獲得可執(zhí)行程序的操作說(shuō)明書(shū)的疤坝。但是對(duì)于ELF文件內(nèi)部的具體細(xì)節(jié)仍然值得...
前言 我們常說(shuō)CPU只認(rèn)識(shí)0和1兆解,操作系統(tǒng)運(yùn)行程序的過(guò)程就是在讀取程序包中的機(jī)器碼并執(zhí)行的過(guò)程∨苋啵可執(zhí)行程序的文件確實(shí)主要由機(jī)器碼組成锅睛,但是這些保存在磁盤(pán)中的的0埠巨、1機(jī)器碼并不...
在之前的文章中,我們熟悉了JNI的代碼實(shí)現(xiàn)现拒,并嘗試手寫(xiě)了一個(gè)JNI的demo辣垒,實(shí)現(xiàn)了Java與cpp層的溝通。但是如果仔細(xì)思考還是會(huì)有一些困惑印蔬,Java和cpp最開(kāi)始究竟是如...
前言 我們都知道Google當(dāng)初為了讓Java開(kāi)發(fā)者能快速介入到Android開(kāi)發(fā)勋桶,把linux操作系統(tǒng)中c/c++實(shí)現(xiàn)的各種系統(tǒng)能力利用Java封裝起來(lái),此舉確實(shí)吸引了大量...