91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GPUImage簡單實(shí)用及碰到的問題

張康康 ? 2019-09-17 20:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

正式開始之前先介紹一下GPUImage,這是一款基于OpenGL ES 2.0的開源圖像處理庫。在iOS上將OpenGL ES的使用封裝成Objective-C接口,可以用來給圖像、相機(jī)視頻、視頻等添加濾鏡等渲染操作。GPUImage一代已經(jīng)不再維護(hù),OC只能給iOS和Mac使用;同時有GPUImage2使用Swift(基于Swift 3)開發(fā),可以給Mac, iOS和Linux使用;最新的GPUImage3仍在開發(fā)完善中,基于Swift4,并且將OpenGL ES替換成蘋果的Metal,由于是蘋果官方封裝GPU方法,可以預(yù)見會比使用OpenGL ES的性能效率更高。本文使用的仍是第一代GPUImage。

接入GPUImage使用cocoapods直接接入就行,就不再贅述。下面是一個簡單的濾鏡使用:

fcd4530ec63a4f7e9864f4cba18aeaec.png

GPUImage使用有三個關(guān)鍵點(diǎn),input, output, filter(filter也是output但主要實(shí)現(xiàn)了濾鏡,所以分開說)。output一般是用來承載圖像內(nèi)容輸出,可以是GPUImageUIElement(通過UIView來創(chuàng)建并承載整個UIView的內(nèi)容), GPUImagePicture(使用UIImage或者CGImage之類的圖像來創(chuàng)建);filter就是所使用的濾鏡,可以使用GPUImage自帶的比如GPUImageGaussianBlurFilter, GPUImageColorInvertFilter等等,當(dāng)然也可以自建Filter來實(shí)現(xiàn)一些自己所需要的濾鏡,當(dāng)然也需要一些OpenGL的功底;input則是內(nèi)容輸入需要GPUImage進(jìn)行一些處理的,下面用一個MovieWriter進(jìn)行視頻和一個動態(tài)畫面進(jìn)行合成來舉例:

ef3fa5e46c074089b53d0e1865067f6d.png

使用中第一版沒有提到聲音問題所以沒有發(fā)現(xiàn),第二版需要使用視頻原聲音并錄制進(jìn)去,查了一下可以這樣使用:

66f4d0c673a24e3c866a7351e52ee8c4.png

錄制開始會有隨機(jī)閃退問題,網(wǎng)上查了一下,大致是因?yàn)?a target="_blank">音頻處理比視頻處理快,當(dāng)音頻處理完直接callback去做渲染處理了,但這時視頻這幀還沒有加載完成,導(dǎo)致處理失敗崩潰,網(wǎng)上有一個替換GPUImageMovieWriter.m源文件的方法來規(guī)避這個問題,但我嘗試了一下仍然會發(fā)生,就不貼出來了。暫時也沒有更好的辦法來修復(fù)這個問題,由于時間緊迫,我采取只傳遞聲音而取消寫入視頻中,使用ffmpeg進(jìn)行音視頻合成(或其他視頻處理工具,因?yàn)楸旧眄?xiàng)目有視頻剪切使用了ffmpeg)。如果以后對這方面有更深入的了解和研究會繼續(xù)更新如何解決這個問題。

PS: 說個題外關(guān)于視頻編碼問題,騰訊家的qq和微信SDK分享視頻只能分享網(wǎng)絡(luò)源無法分享本地源,但如果通過蘋果系統(tǒng)自帶的分享則可以分享視頻。最新版部分視頻會發(fā)生視頻壓縮失敗的問題,無法上傳。起先認(rèn)為是視頻編碼問題,通過ffmpeg重新使用h264或者libx264都無法解決;后來發(fā)現(xiàn)那些無法通過騰訊系壓縮的是音頻重新合成過的,所以我對音頻重新編碼,使用的是網(wǎng)絡(luò)上流媒體目前比較通用的aac,結(jié)果讓我大失所望,還是不行!網(wǎng)上也找不到騰訊有關(guān)這兩款分享視頻所需要的編碼問題,而如果我不通過ffmpeg進(jìn)行編輯,原視頻的H.264+aac就是好的,沒有辦法只能采取控制變量法來一個一個試編碼。最后測出來是視頻H.264沒有問題,音頻則需要使用ac3來進(jìn)行編碼才能通過。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    簡單高效的鴻蒙編譯提速技巧

    在鴻蒙應(yīng)用開發(fā)中編譯構(gòu)建是開發(fā)者最頻繁的操作,每一次編譯提速都能顯著提升項(xiàng)目整體開發(fā)效率。本次分享幾個簡單卻高效的鴻蒙編譯提速技巧,從編譯配置、構(gòu)建方式等維度進(jìn)行優(yōu)化,讓你的開發(fā)流程更快捷高效。 1
    的頭像 發(fā)表于 03-04 16:09 ?70次閱讀
    <b class='flag-5'>簡單</b>高效的鴻蒙編譯提速技巧

    linux-arm開發(fā)環(huán)境的簡單配置

    linux-arm開發(fā)環(huán)境簡單配置 關(guān)于linux-arm開發(fā)環(huán)境簡單配置是ARM學(xué)習(xí)的第一步,很多初學(xué)者會在這問題上糾結(jié)很久都不能配置好開發(fā)環(huán)境。推薦大家看一下韋東山視頻,講得很詳細(xì),代碼基本上
    發(fā)表于 01-13 07:56

    合科泰教你如何焊接簡單LED閃爍電路

    你是否曾好奇那些閃爍的LED燈背后的原理?今天教你用5分鐘焊接一個簡單的LED閃爍電路,無需編程,只需一把電烙鐵、幾個簡單元件和基礎(chǔ)的焊接技能,就能打造屬于自己的電子小玩具。 這不僅能獲得好玩的電子玩具,還是理解電路工作原理的實(shí)踐一課。今天,合科泰就帶著你從零搞定這個新手
    的頭像 發(fā)表于 01-07 17:28 ?1092次閱讀
    合科泰教你如何焊接<b class='flag-5'>簡單</b>LED閃爍電路

    使用ACS712-5時碰到的疑問

    最近在使用ACS712-5時出現(xiàn)這個現(xiàn)象,電路圖如下,直接接到單片機(jī)的AD口; 用了一個220V 800W的發(fā)熱煲,采集的AD最大值是0x2C2,轉(zhuǎn)換成電流是(0x2C2/1024)*5-2.5)/0.185=5.12A,有效值是5.12A/1.414=3.6A,反推一下,3.6Ax220V=792W,基本和800W相符;把負(fù)載換成150W的電機(jī),采集到的最大值是0x240,對應(yīng)的電流是1.69A,有效值是1.2A,反推功率是1.2Ax220V=264W,這個和150W相差甚大;換了幾個不同功率的電機(jī),都跟理論計算不符;這個是什么原因,發(fā)熱煲是阻性負(fù)載,電機(jī)是感性負(fù)載,難道感性負(fù)載影響嗎,網(wǎng)上沒查到檢測電機(jī)電流會不準(zhǔn)的貼子;大家?guī)臀曳治鲆幌?,我犯了什么錯;
    發(fā)表于 12-15 16:57

    TQKIT開發(fā)板工具讓系統(tǒng)功能調(diào)用更簡單

    TQKIT開發(fā)板工具,將復(fù)雜的系統(tǒng)控制能力以接口形式開放給開發(fā)者,讓系統(tǒng)功能調(diào)用更簡單。
    的頭像 發(fā)表于 12-08 09:27 ?414次閱讀
    TQKIT開發(fā)板工具讓系統(tǒng)功能調(diào)用更<b class='flag-5'>簡單</b>

    看似簡單的自動泊車需要哪些技術(shù)支撐?

    [首發(fā)于智駕最前沿微信公眾號]要實(shí)現(xiàn)自動泊車,背后需要哪些技術(shù)作為支撐?自動泊車作為現(xiàn)在很多車主應(yīng)用非常多的一項(xiàng)功能,看似只是簡單的入庫操作,但想要完美入庫,其實(shí)需要非常多的技術(shù)支持。 ? 感知
    的頭像 發(fā)表于 10-30 09:09 ?698次閱讀
    看似<b class='flag-5'>簡單</b>的自動泊車需要哪些技術(shù)支撐?

    當(dāng)復(fù)合機(jī)器人碰到障礙物,會觸發(fā)怎樣的智能繞障機(jī)制?

    決策,實(shí)現(xiàn)了在動態(tài)環(huán)境中的高效,安全運(yùn)行。那么,當(dāng)這樣一臺復(fù)合機(jī)器人碰到障礙物時,它是如何實(shí)現(xiàn)自主繞障的?
    的頭像 發(fā)表于 09-16 17:02 ?842次閱讀
    當(dāng)復(fù)合機(jī)器人<b class='flag-5'>碰到</b>障礙物,會觸發(fā)怎樣的智能繞障機(jī)制?

    分享---簡單快速實(shí)現(xiàn)烘烤設(shè)備UI界面的方法

    本文分享下,如何簡單快速的設(shè)計出工業(yè)烘烤設(shè)備的UI界面方法, 借助 \"墨刀\" 界面原型設(shè)計工具,設(shè)計烘烤機(jī)主界面圖片。 使用拓普微 SGTools開發(fā)工具,建立工程和頁面
    發(fā)表于 08-26 11:58

    分享---超聲波焊接機(jī)設(shè)備實(shí)現(xiàn)告 \"警彈窗\" 效果的簡單方法

    在實(shí)際設(shè)計產(chǎn)品UI界面中,經(jīng)常碰到要設(shè)計”告警彈窗”功能如,設(shè)備運(yùn)行中產(chǎn)生了告警信息時,要彈出窗口提示用戶做操作。 使用拓普微廠家的串口屏開發(fā)工具SGTools,可以很容易的實(shí)現(xiàn)”告警彈窗”功能,只需要簡單設(shè)置屬性就可以實(shí)現(xiàn); 參考見下圖UI界面設(shè)計;
    發(fā)表于 08-21 11:17

    LM3881系列 3軌簡單功率定序器技術(shù)手冊

    LM3881 簡單電源定序器提供了控制上電和電源的最簡單方法 多個電源(開關(guān)或線性穩(wěn)壓器)的關(guān)閉。通過錯開啟動 序列,可以避免可能影響 系統(tǒng)的可靠性。
    的頭像 發(fā)表于 08-19 13:49 ?997次閱讀
    LM3881系列 3軌<b class='flag-5'>簡單</b>功率定序器技術(shù)手冊

    萊姆傳感器接線指南:簡單易懂的步驟

    大家好!今天我們來聊聊萊姆傳感器的接線問題。萊姆傳感器在各種項(xiàng)目中應(yīng)用廣泛,無論是氣象監(jiān)測、環(huán)境監(jiān)測還是智能家居,都能派上用場。那么,接線到底該怎么做呢?別擔(dān)心,我將用簡單易懂的語言為大家分享一些
    的頭像 發(fā)表于 08-04 11:27 ?852次閱讀
    萊姆傳感器接線指南:<b class='flag-5'>簡單</b>易懂的步驟

    諧波怎么處理最簡單的方法

    諧波問題是電力系統(tǒng)中常見的電能質(zhì)量問題,它不僅影響設(shè)備正常運(yùn)行,還可能造成能源浪費(fèi)和設(shè)備損壞。針對諧波處理的最簡單方法,我們可以從以下幾個方面入手: 一、理解諧波產(chǎn)生的原因 諧波主要由非線性負(fù)載產(chǎn)生
    的頭像 發(fā)表于 07-13 16:35 ?3544次閱讀
    諧波怎么處理最<b class='flag-5'>簡單</b>的方法

    一個簡單的串聯(lián)電池組充放電實(shí)驗(yàn)

    文章介紹了電池充放電中的數(shù)據(jù)采集并簡單階段了電池容量
    的頭像 發(fā)表于 07-03 14:41 ?1591次閱讀
    一個<b class='flag-5'>簡單</b>的串聯(lián)電池組充放電實(shí)驗(yàn)

    RV1126 實(shí)現(xiàn)簡單的UI開發(fā)示例

    在RV1126上實(shí)現(xiàn)簡單的UI開發(fā)實(shí)例
    的頭像 發(fā)表于 04-09 16:08 ?1138次閱讀
    RV1126 實(shí)現(xiàn)<b class='flag-5'>簡單</b>的UI開發(fā)示例

    看完這篇,SPI其實(shí)也很簡單嘛(可下載)

    首先我們來簡單介紹一下SPI,SPI是串行外設(shè)接口(SerialPeripheralInterface)簡單來講就是它一種高速的,全雙工,同步的通信總線被各種總線搞的暈頭轉(zhuǎn)向的人來說就會問了
    發(fā)表于 03-26 14:29 ?2次下載