iOS上使用高大上的ffmpeg(一)——導(dǎo)入到iOS

首先是吹牛

本人大二的時(shí)候做單片機(jī),后來(lái)做了個(gè)智能家居機(jī)器人,因?yàn)閳D像傳輸续捂,wifi控制是用的路由器破解的,一直想轉(zhuǎn)化為自己的“姿勢(shì)”宦搬,所以大三就搞起了ARM牙瓢,后來(lái)發(fā)現(xiàn)搞ARM其實(shí)是搞嵌入式Linux,于是就搞起了Linux驅(qū)動(dòng)和Linux應(yīng)用间校,從此進(jìn)去萬(wàn)劫不復(fù)的深淵矾克。

Linux的視頻相關(guān)的操作,就繞不過(guò)ffmpeg和openCV憔足,但是因?yàn)楫厴I(yè)的緣故胁附,直接去三星做Linux Audio驅(qū)動(dòng)了差购,也就是ALSA,或者更精確地說(shuō)汉嗽,是ASOC欲逃,負(fù)責(zé)三星手機(jī)的底層音頻驅(qū)動(dòng)開(kāi)發(fā)。也就對(duì)視頻處理沒(méi)有再繼續(xù)饼暑。

Linux驅(qū)動(dòng)既復(fù)雜又枯燥稳析,主要是周?chē)娜瞬恢滥愕降自诟陕铩9选U镁印T偌由喜幌矚g安卓手機(jī),還是喜歡小蘋(píng)果撰筷,所以轉(zhuǎn)行了陈惰!轉(zhuǎn)行了!到iOS開(kāi)發(fā)了毕籽。一開(kāi)始覺(jué)得隔行如隔山抬闯,一個(gè)最底層,一個(gè)最頂層关筒,所以一開(kāi)始感覺(jué)之前干的都白干了溶握。
后來(lái)發(fā)現(xiàn),以前學(xué)的那些編程思想蒸播,那些算法睡榆,那些編碼規(guī)范,對(duì)iOS開(kāi)發(fā)太有幫助了袍榆,另外胀屿,了解UNIX/Linux內(nèi)核,對(duì)頂層開(kāi)發(fā)更有幫助包雀,不過(guò)雖然這么說(shuō)宿崭,心里還是不太舒服的。

直到最近馏艾!我搞起了iOS音視頻開(kāi)發(fā)劳曹,哈哈,簡(jiǎn)直和以前的工作聯(lián)系了起來(lái)琅摩,什么speaker / reveiver / main mic / sub mic,什么機(jī)制與策略锭硼,什么系統(tǒng)音效房资,媒體播放等策略,全都用起來(lái)了檀头。然后就到了音視頻編輯轰异,就到了ffmpeg岖沛,就到了交叉編譯,命令行操作搭独,完全融合起來(lái)了婴削。心里炒雞興奮~~~~~~~~~~~~~~~~~

所以打算好好研究一下,研究完了ffmpeg牙肝,研究openCV唉俗,然后沒(méi)準(zhǔn)又會(huì)做回智能家居,哈哈哈配椭。

屁話(huà)夠多了虫溜,下面是骨感的現(xiàn)實(shí):

然后才是是安裝

參考簡(jiǎn)書(shū)文章:
iOS 利用FFmpeg 開(kāi)發(fā)音視頻流(一)——Mac 系統(tǒng)上編譯 FFmpeg
iOS 利用FFmpeg 開(kāi)發(fā)音視頻流(二)——Mac 系統(tǒng)上編譯 iOS 可用的FFmpeg 庫(kù)

這位作者寫(xiě)的流程很好。其中安裝homebrew的鏈接似乎有些問(wèn)題股缸,我去homebrew官網(wǎng)找的鏈接:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝完了衡楞,就新建工程,仿照剛剛貼的兩個(gè)文章敦姻,導(dǎo)入文件瘾境,添加頭文件查找。

接著镰惦,我們要調(diào)用一個(gè)初始化方法

聲明一下寄雀,我是在邊寫(xiě)文章邊實(shí)驗(yàn),所以肯定有彎路陨献,反正我走一步寫(xiě)一步盒犹,防止忘了。眨业。
這一步急膀,我是參考這個(gè)文章An ffmpeg and SDL Tutorial.

在ffmpeg使用之前,需要初始化ffmpeg龄捡,需要調(diào)用一個(gè)av_register_all方法卓嫂,并且只調(diào)用一次。這個(gè)教程不是給iOS專(zhuān)用的聘殖,所以我轉(zhuǎn)化了一下晨雳,在iOS的main.m中調(diào)用:

#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import "avformat.h"
#import "avcodec.h"

int main(int argc, char * argv[]) {
    @autoreleasepool {
        av_register_all();
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

編譯的時(shí)候,我就發(fā)現(xiàn)奸腺,有點(diǎn)問(wèn)題餐禁,很多報(bào)錯(cuò),原因是要導(dǎo)入一些系統(tǒng)框架:

導(dǎo)入系統(tǒng)框架

然后就能編譯成功了突照。也不知道對(duì)不對(duì)

另外帮非,mark一個(gè)帖子,有一些ffmpeg的bug修復(fù),不知道有沒(méi)有用:
iOS下使用FFMPEG的一些總結(jié)

PS:以前做Linux Audio Driver的時(shí)候末盔,就是沒(méi)有資料筑舅,尤其沒(méi)有中文資料,只能遵從Linus的忠告陨舱,read the fucking source code〈浼穑現(xiàn)在又是這樣,所有中文資料都是只說(shuō)怎么編譯游盲。尼瑪使用呢误墓?好吧,開(kāi)始Google了背桐,祝我好運(yùn)优烧。。链峭。
Corina你看到文章推送畦娄,要是不鼓勵(lì)一下,你覺(jué)得你好意思嗎~~~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弊仪,一起剝皮案震驚了整個(gè)濱河市熙卡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌励饵,老刑警劉巖驳癌,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異役听,居然都是意外死亡颓鲜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)典予,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)甜滨,“玉大人,你說(shuō)我怎么就攤上這事瘤袖∫履Γ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵捂敌,是天一觀的道長(zhǎng)艾扮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)占婉,這世上最難降的妖魔是什么泡嘴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮锐涯,結(jié)果婚禮上磕诊,老公的妹妹穿的比我還像新娘。我一直安慰自己纹腌,他們只是感情好霎终,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著升薯,像睡著了一般莱褒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涎劈,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天广凸,我揣著相機(jī)與錄音,去河邊找鬼蛛枚。 笑死谅海,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蹦浦。 我是一名探鬼主播扭吁,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼盲镶!你這毒婦竟也來(lái)了侥袜?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤溉贿,失蹤者是張志新(化名)和其女友劉穎枫吧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體宇色,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡九杂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宣蠕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片例隆。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖植影,靈堂內(nèi)的尸體忽然破棺而出裳擎,到底是詐尸還是另有隱情,我是刑警寧澤思币,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布鹿响,位于F島的核電站,受9級(jí)特大地震影響谷饿,放射性物質(zhì)發(fā)生泄漏惶我。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一博投、第九天 我趴在偏房一處隱蔽的房頂上張望绸贡。 院中可真熱鬧,春花似錦、人聲如沸听怕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)尿瞭。三九已至闽烙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間声搁,已是汗流浹背黑竞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疏旨,地道東北人很魂。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像檐涝,于是被迫代替她去往敵國(guó)和親遏匆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,519評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)骤铃、插件拉岁、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,029評(píng)論 4 62
  • 更像是因?yàn)樾枰伎嫉氖虑槎啵季S架構(gòu)比孩童時(shí)期復(fù)雜得多惰爬,會(huì)發(fā)散的考慮到許多其他的方面喊暖,并不是指像小時(shí)候一樣單純的記憶。
    履霜閱讀 666評(píng)論 1 1
  • 曾經(jīng),我把很多人都當(dāng)朋友丛版! 后來(lái)巩掺,我發(fā)現(xiàn),并不是所有人都當(dāng)我是朋友页畦。 一開(kāi)始胖替,我對(duì)朋友的定義是這樣子的,我認(rèn)為不會(huì)...
    劉平努力閱讀 155評(píng)論 0 1
  • 每個(gè)人生來(lái)就有夢(mèng)想豫缨,有些直到臨終前都沒(méi)有機(jī)會(huì)實(shí)現(xiàn)独令,因?yàn)楹ε氯プ穳?mèng)!如果以后人們見(jiàn)面不是先問(wèn)“你是做什么工作的好芭?”燃箭,...
    喵了個(gè)喵__閱讀 291評(píng)論 0 0