银河麒麟V10编译FFMpeg,并用Qt开发项目

4 篇文章 1 订阅

首先,百度搜索ubuntu编译ffmpeg,有很多文章,并且有很多踩坑文章,列出自己踩到的坑和解决方法。

已有文章大多有N年了,按顺序走下来往往会蒙B

按照正常的流程编译ffmepg稳定版,基本也没什么坑。

官网的指导,具有非常大的参考价值,编译的话,最好不要参考其他文章。

要点一,gitbhub上搜索ffmpeg,在代码库的release界面,下载稳定版本。

根据官网指导,执行update 和upgrade,将当前系统升级到最新版本。

然后安装必要的库,也就是官网指导上Get the Dependencies部分。

官网和其他网络教程建议创建三个目录,bin,ffmpe_build,ffmpeg_source。ffmpeg和所有辅助包都安装到ffmpeg_buidl里。

我的建议是,这三个目录需要创建,所有库源码放到ffmpeg_source里,编译的时候,ffmpeg编译到ffmpeg_build里。辅助库直接安装到默认路径,也就是/usr/local里。

要点二,编译完成后,vim ~/.bashrc,增加export PKG_CONFIG_PAHT=$PKG_CONFIG_PAHT:/usr/local/lib/pkgconfig:{ffmeg_build的路径}。然后别忘了source ~/.bashrc。

下面说下编译过程

对第三方库,ffmpe有版本要求,比如nasm,如果我们的系统更新源里的版本>=2.12,就可以直接sudo apt install nasm了。查看系统更新源里库版本的方法:

apt list | grep nasm

麒麟V10的系统更新源里nasm的版本是2.11,刚好不满足要求,所以我们需要下载源码自己编译。目前masm官方稳定版是2.15,下载源码,按步骤安装即可。多说一句,还是,官网指导建议装到ffmpeg_build里,我建议装到系统默认安装目录。

接下来libx264和libx265,查看版本号,满足要求,直接安装。

后面的几个包,更新源里没有的,直接下载源码,编译安装。满足要求的直接安装。

最后,编译ffmpeg。官网指导里还下载了snapshot,我们编译的是稳定版,我没有下载snapshot。

编译到最后,遇到个问题,提示undefined reference to "ff_log2_tab",还有一个 undefined reference to "ff_reverse",

这就要修改ffmpeg 的部分代码,对应的,增加#include "libavutil/log2_tab.c",#include "libavutil/reverse.c"。

不要一次所有文件都加上,加一个文件编译下。完成。

Qt工程引用

要点一,引用顺序,-lavdevice ,-lavformat , -lavcodec, -lavutil, -lavfileter, -lswscale, -lswresample。前四个顺序固定,后面可以随意。

要点二,执行pkg-config --libs libavdevice libavformat libavcodec libavfilter libavutil libswscale libswresample,获取所有支持库。放到qt工程文件 LIBS +=后面。

 

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值