从多媒体视频智能化同类相关技术研发开始计算,智能化在多媒体视频业内行业内已经发展了十余年,但是多媒体视频业内行业的智能化应用一直没有达到预期。目前多媒体视频智能化主要的表现还是集中在前端设备摄像机商品产品的某些智能功能,以及一些配备智能分析的NVR/DVR和后端的智能分析第三方平台系统。无插件直播和智能化水平还处在初级阶段,周边的硬件及软件设备还未完善,还有很多环境和应用限制条件。
例如传统安防业内行业,智能安防的技术门槛有了极大程度的提升提高,系统的复杂性和技术性都呈指数增长。大数值数据、云计算、深度学习、人工智能应用等等技术,是安防智能化发展的关键技术。对于公司企业来说,安防智能化的建设需要的专业知识面非常广,并且要求有相当的整合能力,这一切都对安防摄像头信息内容无插件直播的技术发展提出了不小的要求。无插件直播第三方平台EasyNVR顺应而生。
问题需求
客户使用者在使用无插件直播第三方平台EasyNVR的时候,使能Ai Filter功能,并且使用自己编译的ffmpeg,编译生成了libEasyAiFilter.so,但是在NVR调用Ai Filter功能模块的时候,使用的还是NVR编译的ffmpeg库。
问题分析
根据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)下载所需要版本代码。下载地址:
各个历史版本下载:/ffmpeg/release-source/
注意在生成libEasyAIFilter的时候可能会出现Relocation同类相关的错误,此类解决方式方法
1)ffmpeg 编译成静态库,需要提升增加—enable-pic,否则aifilter 库无法调用
2)Aifilter需要"-Wl,-Bsymbolic"编译选项
3)对于在编译ffmpeg的时候使用的第三方库,也需要加入-fPIC编译选项,如libx264
编译的时候./configure --enable-static --enable-pic --disable-opencl
如在编译x246有遇到如下问题
解决:重新调整更新配置
重新编译x264解决
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有