条件

当前编译环境:国产UOS系统(基于linux),CPU是ARM架构
需要安装ffmpeg 3.4版本。

通过源码编译进行安装使用

下载源码

在github上将ffmpeg源码下载到本地:下载地址

git clone https://github.com/FFmpeg/FFmpeg.git

然后在终端,切入到ffmpeg目录,查看远程分支:

git branch -a


接着将我们需要的版本代码迁出来:

$ git checkout -b 3.4 origin/release/3.4

修改configure

修改配置的目的是为了让最终生成的库更简洁,不要生成相关的链接库(生成标准的 .so,而不是 .so.xxx)
如果不修改的话,默认会生成以下的库文件:

这样文件太多,不方便管理,所以我们只需要生成.so就好啦。

在ffmpeg目录下找到 configure文件,然后找到以下字段并修改如下:

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

如下:

添加编译配置

在源码根目录新建一个脚本 auto.sh ,然后输入:

#!/bin/sh
./configure \
--enable-shared \
--prefix=/usr/bin/ffmpeg_ARM \
--enable-demuxers \
--enable-parsers \
--enable-ffprobe

注意:ffmpeg_ARM是配置最终要安装的目录,可自行设置。

--enable-demuxers \
--enable-parsers \
--enable-ffprobe

这三项配置主要解决一个重要问题:
当调用 avformat_open_input接口的时候会报错:
返回-1094995529 “Invalid data found when processing input”

所以在编译时一定要加上这个配置,否则调用这个接口就会报错啦。

开始编译

ok,以上全部准备完成后就可以开始编译啦。

直接运行脚本 : sudo ./auto.sh
然后执行 :

make
sudo make install

安装完就可以在配置的目录下找到相关的库和头文件了

这里重要的是编译配置,一开始我就没有配,后来在使用过程中就出现错误,在网上找了好多资料最终解决这个问题。

参考资料:
FFmpeg 详尽编译过程

avformat_open_input返回-1094995529 “Invalid data found when processing input“

UOS系统下FFmpeg源码编译安装及注意事项相关推荐

  1. linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git

    21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...

  2. 01 linux 下tcl源码编译安装和tcl手册使用

    标签(空格分隔): 源码编译安装 2020.7.7 1 下载安装包.tar.gz 2 解压压缩包 3 进入configure文件所在文件夹,执行./configure ./configure 注解: ...

  3. Linux 下 PostgreSQL 源码编译安装

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS),它从伯克利写 ...

  4. Centos环境下mysql源码编译安装

    yum -y install gcc gcc-c++ ncurses-devel perl ##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本. wget --no ...

  5. RedHat系列系统 Clickhouse v18 源码编译安装

    需要GCC7.3以上版本支持. 下载源码 git clone -b v18.12.17-stable https://github.com/ClickHouse/ClickHouse.git 下载依赖 ...

  6. Linux下Poppler源码编译安装

    Poppler Poppler是用于呈现可移植文档格式(PDF)文档的免费软件实用程序库.它的开发得到freedesktop.org的支持.它通常在Linux系统上使用,并被开源GNOME和KDE桌面 ...

  7. 在Linux下用源码编译安装apache2

    Linux下安装一个软件,最好去看下它的官方guide,apache2.4的安装安装guide 0. installation guide http://httpd.apache.org/docs/2 ...

  8. centos下apache源码编译安装

    进入指定目录,下载 cd /usr/local/src wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2 解压 tar jxf http ...

  9. FFmpeg学习之八(FFmpeg源码编译)

    FFmpeg学习之八(FFmpeg源码编译) Mac下 FFmpeg源码编译 安装 1. 使用终端安装FFmpeg 2. 手动编译 2.1 编译环境 - Xcode 2.2 安装依赖库 2.3 安装F ...

最新文章

  1. 人工智能产业2018年待解的三大难题
  2. python散点图点的大小-python散点图面积大小比例轴长度
  3. 介绍Windows Server服务器角色、角色服务和功能
  4. lay弹窗库的一个坑
  5. Apache Flink 零基础入门(十七)Flink 自定义Sink
  6. doctype html h5,HTML DOCTYPE
  7. (转) Lua: 给 Redis 用户的入门指导
  8. 【UVA725】Division(暴力求解--水题)
  9. 飞凌单片机解密_IC芯片解密方法与原理解析
  10. PowerBI Report Server借助Wap与ADFS实现集成一
  11. 最常见的电脑数据恢复软件有几种
  12. 使用51单片机驱动航模无刷电机
  13. ARM和MIPS架构
  14. 微机原理——8086系统的概述与引脚介绍
  15. Ethereum-ERC721智能合约和Dapp实践--以太猫CryptoKitties的简单实现
  16. 儿时的情怀除了教材的封面和王心凌的《爱你》,还有证件照上的红领巾和马尾辫
  17. Grads转成Netcdf
  18. 华为云计算01——虚拟化技术
  19. VS2019无法打开源文件
  20. 大脚插件服务器金币显示,大脚更新:添加金币统计 材料补充 祝福助手

热门文章

  1. 网易云信入选《2021 年浙江省首版次软件产品应用推广指导目录》
  2. 网易云信七鱼被推选为“2016企业创服联盟合作伙伴”
  3. 聚能聊每周精选 第二十三期
  4. NOIP 2018 普及组 解题报告
  5. C算法编程题(一)扑克牌发牌
  6. 大数据的逆袭:传统数据库市场的变革
  7. Andriod开发技巧——Fragment的懒载入
  8. Linux双网卡绑定
  9. 跟互联力量学Silverlight之十_如何完整安装Silverlight 4中文版
  10. 【UCHome二次开发】全局变量