安防攝像頭網頁無插件直播方案流媒體服務器EasyNVR之AI_Filter功能沒法使用自編的ffmpeg庫問題解決

背景分析

從視頻智能化相關技術研發開始計算,智能化在視頻行業內已經發展了十餘年,可是視頻行業的智能化應用一直沒有達到預期。目前視頻智能化主要的表現仍是集中在前端設備攝像機產品的某些智能功能,以及一些配備智能分析的NVR/DVR和後端的智能分析平臺系統。無插件直播和智能化水平還處在初級階段,周邊的硬件及軟件設備還未完善,還有不少環境和應用限制條件。html

例如傳統安防行業,智能安防的技術門檻有了極大程度的提升,系統的複雜性和技術性都呈指數增加。大數據、雲計算、深度學習、人工智能應用等等技術,是安防智能化發展的關鍵技術。對於企業來講,安防智能化的建設須要的專業知識面很是廣,而且要求有至關的整合能力,這一切都對安防攝像頭內容無插件直播的技術發展提出了不小的要求。無插件直播平臺EasyNVR順應而生。前端

EasyNVRAI智能雲終端分析.png

無插件直播平臺EasyNVR中AI_Filter功能沒法使用自編的ffmpeg庫

問題需求

客戶在使用無插件直播平臺EasyNVR的時候,使能Ai Filter功能,而且使用本身編譯的ffmpeg,編譯生成了libEasyAiFilter.so,可是在NVR調用Ai Filter功能模塊的時候,使用的仍是NVR編譯的ffmpeg庫。linux

問題分析

根據log顯示ffmpeg版本,NVR在調用libEasyAiFilter庫的時候,Ai Filter使用的一直是編譯到NVR裏面的ffmpeg庫,使用的不是客戶編譯的ffmpeg庫。後端

問題解決

爲了不大範圍的修改前提下,保存NVR不動,只是修改Ai Filter,那就是在編譯Ai Filter的時候,使用ffmpeg的靜態庫,把ffmpeg靜態庫編譯到Ai Filter的動態庫中,這樣保證Ai Filter在ffmpeg的接口函數與時候與NVR保持獨立,互不影響。服務器

步驟網絡

1.編譯生成ffmpeg靜態庫:併發

1)下載所須要版本代碼。下載地址:http://ffmpeg.org/download.html
各個歷史版本下載:http://www.ffmpeg.org/releases/運維

2)下載完成後進行解壓函數

tar –vxf ffmpeg-4.1.4.tar.xz
cd ffmpeg-4.1.4
./configure --enable-static –disable-shared --disable-yasm --enable-libx264 --enable-gpl --enable-libfreetype –enable-pic

配置完成後,進行編譯學習

make
      make install

2.把編譯生成的.a 文件copy到ai Filter項目下的 Lib/FFmpeg/linux/ 目錄下,同時須要copy libx264.a libfreetype.a。

若是須要增長其餘外部第三方庫,如增長libx264方法同樣。
Ffmpeg也提供了須要的地方庫的下載地址
https://johnvansickle.com/ffmpeg/release-source/

注意在生成libEasyAIFilter的時候可能會出現Relocation相關的錯誤,此類解決方法
1)ffmpeg 編譯成靜態庫,須要增長—enable-pic,不然aifilter 庫沒法調用
2)Aifilter須要"-Wl,-Bsymbolic"編譯選項

4.png

3)對於在編譯ffmpeg的時候使用的第三方庫,也須要加入-fPIC編譯選項,如libx264
編譯的時候./configure --enable-static --enable-pic --disable-opencl

如在編譯x246有遇到以下問題

5.png

6.png

解決:從新更新配置

7.png

從新編譯x264解決

專業團隊

爲了保障咱們的服務器正常穩定運做,無插件直播平臺EasyNVR有專業的運維(售前支撐、商務諮詢、售後維護)團隊,隨時對客戶各類突發狀況快速響應處理,保證互聯網直播的順利進行。咱們也但願實現「0延時」,但理想豐滿,現實骨感。每個完美的直播背後都須要設備、網絡、併發量等流程配合完成,正所謂「蝴蝶效應」,任何一個小環節都會對直播延時產生影響,無插件直播平臺EasyNVR團隊要作的就是不斷完善開發互聯網直播系統,保證直播的低延時、穩定性,同時視頻播放高清流暢。

1.png

相關文章
相關標籤/搜索