(一)Android FFmpeg編譯(集成xh264+fdk-aac)增強版

很久沒寫文章了脐嫂,這段時間事情比較繁忙,也比較想偷個懶紊遵。這次主要是深入了解FFmpeg的編譯和集成xh264編碼和fdk-aac編碼雹锣。
估計項目每個去公司的人如果現(xiàn)在需要一套ffmpeg的編輯功能肯定少不了xh264編碼和fdk-aac編碼這兩個,但ffmpeg的ndk編譯對于咱們Android開發(fā)其實是很不友好的癞蚕,因為很多人都想用最新的ffmpeg進行編譯比如像4.1和4.0還有最新的4.2版本進行編譯蕊爵,但如果光編譯一個ffmpeg這個問題不是很多(本人經(jīng)過多次入坑最后編譯成功但不是很理想)如果想編一個so并且集成xh264和fdk-aac這兩個編碼庫這就不好弄了(但如果不需要arm64-v8a的cpu可以考慮用ffmpeg4.0進行編譯)因為現(xiàn)在市面上大部分手機都是64位的,而最嚴重的問題是如果你想發(fā)布在Google市場上面必須要支持arm64-v8a桦山,所以經(jīng)過多長嘗試發(fā)現(xiàn)最終使用ffmpeg3.3版本進行編譯完成了一個大家最想要的結(jié)果攒射,話不多說直接上圖


image.png

這個估計就是大家最想要的結(jié)果,而細心的小伙伴會發(fā)現(xiàn)兩個架構編譯出來的包大小不一樣那是肯定的恒水,咱們又不玩虛的又不是直接把armeabi-v7a直接拷貝一份(如果直接拷貝有些手機會遇到奔潰会放,所以還是乖乖編譯一個v8a的cpu支持架構),而看過我第一篇的小伙伴會發(fā)現(xiàn)這次的so為什么這么小钉凌,而這次我采用自己需要什么功能就編譯什么功能咧最,把不用的功能進行裁剪,這次對于那些產(chǎn)品什么的,也沒什么話說了(說你apk太大什么的盡扯淡矢沿,包大功能豈不是讓用戶感到更強大玩笑話)滥搭,廢話了這么多現(xiàn)在步入正軌了

還是先把每個下載鏈接給大家展示出來

可以選擇老的版本這樣編譯下來會很小歷史版本鏈接
xh264下載地址
記得選擇3.3版本(下載Download xz tarball選項)
FFmpeg下載鏈接
下來下載FDK-AAC(0.1.4和0.1.5都是可以的看大家心情選擇)
FDK-AAC

下面我要進入虛擬機頁面了(本人采用的是Ubuntu 14),下來就要開始寫腳本了(而腳本這次我參考了很多晚上的文章捣鲸,最后總結(jié)了一下)
這邊命令文件我已經(jīng)上傳好了瑟匆,方便大家直接使用
這是咱們這次需要的命令文件
這個是我把腳本和文件擺放的目錄

image.png

既然命令大家都已經(jīng)有了,咱們先一個一個來栽惶,先從config.sh這個腳本來看愁溜,我們這邊先可以設置16版本來進行編譯,我這邊使用的是NDK14如果采用不一樣的會報錯只要看日志基本上就可以解決外厂,但解決很麻煩所以還是建議使用NDK14冕象,咱們先從armeabi-v7a走起,所以這邊需要把config.sh圖上的AOSP_API這邊設置為16切記汁蝶,要不然你的app只能支持21以上


image.png

config.sh上面的參數(shù)寫出自己的目錄和文件名交惯,下面我們開始看看x264編碼


image.png

現(xiàn)在只需要執(zhí)行一下命令
image.png

這個時候你會發(fā)現(xiàn)有錯誤出現(xiàn),會提示你安裝yasm沒有你只需要安裝一下就好了

sudo apt install yasm
后面有可能還會提示你別的未安裝你只需要sudo apt install xxx(提示的庫寫上去執(zhí)行就ok了)

現(xiàn)在執(zhí)行完成你會發(fā)現(xiàn)你的腳本目錄下面多了一個libs文件夾穿仪,里面會有你剛才編譯的文件
下面我們就開始編譯arm64-v8a了席爽,其實很簡單你只需要把命令后面的支持架構改為arm64-v8a這個再執(zhí)行就ok了,而此時我們libs/libx264目錄下面就會有兩個架構文件了啊片,這下x264大功告成

下面FDK-AAC編譯就跟上面x264一樣只需把腳本名換一下繼續(xù)只锻,修改config.sh文件編譯,就會出現(xiàn)兩個架構(arm64-v8a的api設置為21紫谷,armeabi-v7a設置為16)切記齐饮,要不然后面會出錯

既然現(xiàn)在有了兩個編碼庫我們現(xiàn)在開始進行ffmpeg編譯這次進行裁剪編譯,沒有跟上次一樣把很多支持功能都放進去


image.png

image.png

進行支持像剛才x264腳本一樣笤昨,先修改config.sh腳本api版本祖驱,先進行armeabi-v7a版本16,然后執(zhí)行腳本瞒窒,然后在修改腳本支持arm64-v8a,這樣就會生成咱們需要的文件了捺僻,你會發(fā)現(xiàn)文件明顯變小了,大功告成


image.png

里面都有一個獨立的so文件

image.png

這下我們就可以把libs文件和ffmpeg文件壓縮放在window桌面了崇裁,為后面項目做準備

下一篇會說如果集成在項目中使用

后續(xù)會出一些自繪View的文章后續(xù)關注

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末匕坯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拔稳,更是在濱河造成了極大的恐慌葛峻,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件巴比,死亡現(xiàn)場離奇詭異术奖,居然都是意外死亡礁遵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門采记,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佣耐,“玉大人,你說我怎么就攤上這事挺庞。” “怎么了稼病?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵选侨,是天一觀的道長。 經(jīng)常有香客問我然走,道長援制,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任芍瑞,我火速辦了婚禮晨仑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拆檬。我一直安慰自己洪己,他們只是感情好,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布竟贯。 她就那樣靜靜地躺著答捕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屑那。 梳的紋絲不亂的頭發(fā)上拱镐,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音持际,去河邊找鬼沃琅。 笑死,一個胖子當著我的面吹牛蜘欲,可吹牛的內(nèi)容都是我干的益眉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼姥份,長吁一口氣:“原來是場噩夢啊……” “哼呜叫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起殿衰,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤朱庆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闷祥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娱颊,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡傲诵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了箱硕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴竹。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖剧罩,靈堂內(nèi)的尸體忽然破棺而出栓拜,到底是詐尸還是另有隱情,我是刑警寧澤惠昔,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布幕与,位于F島的核電站,受9級特大地震影響镇防,放射性物質(zhì)發(fā)生泄漏啦鸣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一来氧、第九天 我趴在偏房一處隱蔽的房頂上張望诫给。 院中可真熱鬧,春花似錦啦扬、人聲如沸中狂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吃型。三九已至,卻和暖如春僚楞,著一層夾襖步出監(jiān)牢的瞬間勤晚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工泉褐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赐写,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓膜赃,卻偏偏與公主長得像挺邀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子跳座,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

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