基于Onvif协议网络摄像头实现 互联网无插件直播解决方案EasyNVR如何在ffmpeg增加H264编解码模块?

2020-04-23 16:38:03 浏览数 (1)

什么是ONVIF

Open Network Video Interface Forum,开放型网络视频接口论坛,以公开、开放的原则共同制定开放性行业标准。是一个提供开放网络视频接口的论坛组织。ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。可以让不同厂商所提供的产品,均可以通过统一的语言来进行交流,增加了协同性和灵活性。

基于AI视频智能分析云终端

EasyNVR智能云终端是基于视频智能传输技术、视频AI分析技术、智能云组网技术、边缘计算技术、视频大数据技术、窄带通信技术、远程监测技术以及智能语音融合等多种技术于一体,研究一种提供视频流上云、存储、转发、视频AI功能的云终端产品,旨在帮助视频设备厂商、方案商与服务提供商,快速将存量或者新增的监控设备上云。

在写代码的过程中,经常需要利用ffmpeg进行h264编解码,ffmpeg默认是不支持h264编解码的,需要在编译ffmpeg时增加支持h264编解码功能模块。

今天给大家分享下ffmpeg是如何增加H264编解码功能模块的。

问题解决

添加h264功能模块,由于默认ffmpeg是不支持h264编解码的,x264是第三方库,需要先下载编译生成库,然后在编译ffmpeg的时候添加此编译选项。

具体步骤如下:
  • (1)编译生成x264库: 下载地址: git clone https://code.videolan.org/videolan/x264.git
  • (2)编译x264库
代码语言:javascript复制
cd x264
sudo ./configure --enable-shared –enable-static --disable-asm  
sudo make
sudo make install
  • (3)安装ffmpeg 官网下载 http://ffmpeg.org/download.html下载所需要版本代码,目前我们使用的是4.0.3 http://www.ffmpeg.org/releases/ 各个历史版本下载
  • (4)下载完成后进行解压
代码语言:javascript复制
tar –vxf ffmpeg-4.0.3.tar.xz
cd ffmpeg-4.0.3
./configure --enable-shared --disable-yasm --enable-libx264 --enable-gpl
make
make install

默认安装到/usr/local/ 目录下,也可以通过–prefix=/usr/local/进行指定目录,一般默认即可

  • (5)查询下编译的ffmpeg是否包含x264功能模块
  • (6)通过ldd 查询libavcodec.so 是否需要libx264.so 即可

如果需要增加其他外部第三方库,与增加libx264方法一样。

0 人点赞