我是靠谱客的博主 柔弱跳跳糖,最近开发中收集的这篇文章主要介绍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源码编译安装及注意事项的全部内容,希望文章能够帮你解决UOS系统下FFmpeg源码编译安装及注意事项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部