国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GPUImage簡單實用及碰到的問題

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

掃碼添加小助手

加入工程師交流群

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

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

fcd4530ec63a4f7e9864f4cba18aeaec.png

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

ef3fa5e46c074089b53d0e1865067f6d.png

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

66f4d0c673a24e3c866a7351e52ee8c4.png

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

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    linux-arm開發環境的簡單配置

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

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

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

    使用ACS712-5時碰到的疑問

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

    TQKIT開發板工具讓系統功能調用更簡單

    TQKIT開發板工具,將復雜的系統控制能力以接口形式開放給開發者,讓系統功能調用更簡單
    的頭像 發表于 12-08 09:27 ?408次閱讀
    TQKIT開發板工具讓系統功能調用更<b class='flag-5'>簡單</b>

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

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

    當復合機器人碰到障礙物,會觸發怎樣的智能繞障機制?

    決策,實現了在動態環境中的高效,安全運行。那么,當這樣一臺復合機器人碰到障礙物時,它是如何實現自主繞障的?
    的頭像 發表于 09-16 17:02 ?830次閱讀
    當復合機器人<b class='flag-5'>碰到</b>障礙物,會觸發怎樣的智能繞障機制?

    分享---簡單快速實現烘烤設備UI界面的方法

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

    分享---超聲波焊接機設備實現告 \"警彈窗\" 效果的簡單方法

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

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

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

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

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

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

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

    一個簡單的串聯電池組充放電實驗

    文章介紹了電池充放電中的數據采集并簡單階段了電池容量
    的頭像 發表于 07-03 14:41 ?1567次閱讀
    一個<b class='flag-5'>簡單</b>的串聯電池組充放電實驗

    RV1126 實現簡單的UI開發示例

    在RV1126上實現簡單的UI開發實例
    的頭像 發表于 04-09 16:08 ?1127次閱讀
    RV1126 實現<b class='flag-5'>簡單</b>的UI開發示例

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

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