UOS系统下FFmpeg源码编译安装及注意事项
条件
当前编译环境:国产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源码编译安装及注意事项相关推荐
- linux git编译安装目录,Linux(centos) 环境下如何源码编译安装git
21运维原创,转载请注明出处. 最近线上要使用git进行代码发布和版本管理了,之前搞过,一直没有做记录.从今儿起开始记录这块. linux上(当前文章使用的是centos,ubuntu采用apt-ge ...
- 01 linux 下tcl源码编译安装和tcl手册使用
标签(空格分隔): 源码编译安装 2020.7.7 1 下载安装包.tar.gz 2 解压压缩包 3 进入configure文件所在文件夹,执行./configure ./configure 注解: ...
- Linux 下 PostgreSQL 源码编译安装
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS),它从伯克利写 ...
- Centos环境下mysql源码编译安装
yum -y install gcc gcc-c++ ncurses-devel perl ##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本. wget --no ...
- RedHat系列系统 Clickhouse v18 源码编译安装
需要GCC7.3以上版本支持. 下载源码 git clone -b v18.12.17-stable https://github.com/ClickHouse/ClickHouse.git 下载依赖 ...
- Linux下Poppler源码编译安装
Poppler Poppler是用于呈现可移植文档格式(PDF)文档的免费软件实用程序库.它的开发得到freedesktop.org的支持.它通常在Linux系统上使用,并被开源GNOME和KDE桌面 ...
- 在Linux下用源码编译安装apache2
Linux下安装一个软件,最好去看下它的官方guide,apache2.4的安装安装guide 0. installation guide http://httpd.apache.org/docs/2 ...
- centos下apache源码编译安装
进入指定目录,下载 cd /usr/local/src wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2 解压 tar jxf http ...
- FFmpeg学习之八(FFmpeg源码编译)
FFmpeg学习之八(FFmpeg源码编译) Mac下 FFmpeg源码编译 安装 1. 使用终端安装FFmpeg 2. 手动编译 2.1 编译环境 - Xcode 2.2 安装依赖库 2.3 安装F ...
最新文章
- 人工智能产业2018年待解的三大难题
- python散点图点的大小-python散点图面积大小比例轴长度
- 介绍Windows Server服务器角色、角色服务和功能
- lay弹窗库的一个坑
- Apache Flink 零基础入门(十七)Flink 自定义Sink
- doctype html h5,HTML DOCTYPE
- (转) Lua: 给 Redis 用户的入门指导
- 【UVA725】Division(暴力求解--水题)
- 飞凌单片机解密_IC芯片解密方法与原理解析
- PowerBI Report Server借助Wap与ADFS实现集成一
- 最常见的电脑数据恢复软件有几种
- 使用51单片机驱动航模无刷电机
- ARM和MIPS架构
- 微机原理——8086系统的概述与引脚介绍
- Ethereum-ERC721智能合约和Dapp实践--以太猫CryptoKitties的简单实现
- 儿时的情怀除了教材的封面和王心凌的《爱你》,还有证件照上的红领巾和马尾辫
- Grads转成Netcdf
- 华为云计算01——虚拟化技术
- VS2019无法打开源文件
- 大脚插件服务器金币显示,大脚更新:添加金币统计 材料补充 祝福助手