认识ffmpeg编译、以及参数解释

本文介绍了FFmpeg的源码、编译脚本及其参数配置,包括编译选项如--prefix、--enable-shared等,以及如何通过调整编译参数来控制编译速度、程序大小和功能选择。例如,启用libx264、libx265编码器,以及通过--enable-filter=scale使能过滤器。此外,文章提及了多线程编译和依赖库的处理,并提供了Android平台的编译脚本示例。
摘要由CSDN通过智能技术生成

学习文章 :https://ffmpeg.xianwaizhiyin.net/build-ffmpeg/configure-args.html

源码

去掉一些说明文件后

~/ffmpeg-4.2.2 $ ls
compat     fftools      libavformat    libswresample  presets
configure  libavcodec   libavresample  libswscale     tests
doc        libavdevice  libavutil      Makefile       tools
ffbuild    libavfilter  libpostproc    
 

doc/build_system.txt,编译 FFmpeg 的一些教程。

doc/filter_design.txt ,filter 滤镜的设计原理。

doc/writing_filters.txt,如何自己写一个滤镜加进去 FFmpeg。

doc/issue_tracker.txt,FFmpeg 的 bug 或者 feature 的跟踪流程

doc/multithreading.txt,FFmpeg 里面的多线程,有两种,Slice threading 跟 Frame threading

doc/optimization.txt ,编解码器的优化方法,FFmpeg 还有一部分函数是可以用汇编 SIMD 优化,他的一些函数如果被优化得晦涩难懂,可以查看早期的 gitlog。

doc/rate_distortion.txt,对失真率的简单讨论。

编译参数

环境目录

prefix 代表前缀目录

libdir 代表静态库目录

shlibdir 是动态库的安装目录默认会把动态库安装到系统的动态库目录。

pkgconfigdir 代表 pkg 文件的安装目录

pkg 是用来给第三方软件找到 FFmpeg 静态库,动态库的安装目录的。

链接库

--disable-static\ --enable-shared , FFmpeg 默认会生成静态库

--extra-cflags,传递 标识选项 给 C 编译器

--extra-cxxflags,传递 标识选项 给 C++ 编译器

--extra-ldflags,传递 标识选项 给 LD 链接器

--extra-ldexeflags,生成 exe 的时候传递给 链接器 的 选项

--extra-ldsoflags,生成 so 动态库的时候传递给 链接器 的 选项

--extra-libs,指定额外的库,实际上就是往链接器加选项

--env="ENV=override" 这个是最重要的,可以覆盖环境变量

编译速度、程序大小

--enable-small,把 FFmpeg 的体积减少。

--disable-doc,不编译生成文档,可以节省编译时间。

--disable-programs,开启\关闭的可执行文件( ffmpeg)。针对某个不生成 --disable-ffplay,如果全部关闭则只生成静态库\动态库。

--disable-avdevice,--disable-avcodec,--disable-avformat,--disable-swresample,--disable-swscale,--disable-postproc,--disable-avfilter。开启\关闭的库,如果只需要可执行文件,可以指定不生成这些库,但是可能程序会缺少某个库的功能。(在开发filter模块的时候可以手动的关闭一些库,会减少很多编译时间)

--disable-indevs --disable-outdevs --disa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值