zoukankan      html  css  js  c++  java
  • EasyNVR RTSP转RTMP-HLS-FLV流媒体服务器前端构建之:ffmpeg是如何增加h264编解码功能模块的

    在写代码的过程中,经常需要利用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库

    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)下载完成后进行解压

    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方法一样
    Ffmpeg也提供了需要的地方库的下载地址:
    https://johnvansickle.com/ffmpeg/release-source/

    关于EasyNVR

    EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。

  • 相关阅读:
    PAT:1075. PAT Judge (25) AC
    PAT:1010. 一元多项式求导 (25) AC
    PAT:1076. Forwards on Weibo (30) AC
    PAT:1086. Tree Traversals Again (25) AC
    PAT:1020. Tree Traversals (25) AC
    PAT:1051. Pop Sequence (25) AC
    PAT:1063. Set Similarity (25) AC
    PAT:1017. A除以B (20) AC
    C语言指针
    iOS block
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/11670055.html
Copyright © 2011-2022 走看看