概述
以下给出个人在学习FFmpeg的完整过程,仅供参考。
引言
因为在项目预研阶段,每个人的环境有所不一样,所以在编译过程中十分注意:配置环境、依赖库、外接开源库。其实这些都是为了统一项目环境而已。避免开发阶段发现,咦你原来缺来一个库,然而之前找了两天的bug。
但跟以往自己随意编译一个开源库不一样,进一步掌握了关于环境、编译的一些知识。
过程如下:主要是按照FFmpeg-wiki上的编译部分指导操作
FFmpeg-wiki——
Generic compilation guide
一般话的编译指导,可使用于所有开源库编译
该文章非常实用:
- 为什么编译源码?
- 一般化的编译过程?三部曲
- 安装路径:
- 环境变量:env命令查看环境变量
本机编译
FFmpeg-wiki——
FFmpeg Compilation Guides 特指FFmpeg的编译方法
下面是个人配置FFmpeg的configure命令:
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --pkg-config-flags="--static" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree
将configure --help打印出来,方便查找配置选项
项目中配置,转到
[配置]FFmpeg配置
不得不说的是:上面使用了hash命令,
链接
需要按照教程来创建目录(家目录下创建),安装完成后发现没有出现ffplay,原来是没有按照SDL,解析
链接
虽然FFmpeg官网并没有给出相应的配置方法,但结合上述思路:路径+运行文件
下面是个人配置SDL的configure命令:
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
PATH="$HOME/bin:$PATH" make
make install
make distclean
由于FFmpeg更新较快,上述的安装方法对应的更新方法是:正确删除后,从新编译一次即可。
编译后,需要设置对应的环境变量,在此根据本机设置修改为:
/etc/profile添加二进制路径
export PATH="/home/h265/bin:$PATH"
/etc/manpath.config添加man文件路径
MANPATH_MAP /home/h265/bin /home/h265/ffmpeg_build/share/man
交叉编译
本节,讲述如何在ARM平台上编译运行FFmpeg,使得MPP系统与FFmpeg同时运行
hi3516a之ffmpeg x264交叉编译
链接
链接
链接
链接
链接(安卓平台,它比较清晰)
最后
以上就是畅快裙子为你收集整理的[编译]FFmpeg及其交叉编译(理论)的全部内容,希望文章能够帮你解决[编译]FFmpeg及其交叉编译(理论)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复