ffmpeg精简1
来源:互联网 发布:64式轻坦性能数据 编辑:程序博客网 时间:2024/05/18 18:17
http://blog.sina.com.cn/s/blog_73c85f0f0101dig8.html
ffmpeg编译以后的libavcodec.dll,可能会在10M以上。作为一个dll实在是太大了,因此瘦身也是一个重要的编译过程。
瘦身诀窍主要是2点:
1,只编译必要的编码解码器。
在./configure的时候,先把所有的encoders, encoders, muxers都disable掉。
这样能减掉libavcodec.dll大约6.5M的体积,从默认的12M瘦身到5.5M左右(ffmpeg1.0).
2,使用--enable-small选项。
能减掉大约3M的体积,从5M到大概1.94M(ffmpeg 1.0).
最后可用的configure参数大概是:
$ ./configure --disable-yasm --disable-static --enable-shared --disable-encoders
s --disable-decoders --disable-muxers --disable-demuxers --disable-parsers --di
sable-bsfs --disable-protocols --disable-filters --disable-avfilter --disable-s
wscale --disable-swresample --disable-avdevice --enable-small
这样子能把libavcodec.dll缩到大概2M左右。一般为了实际需要,还需要再加上一些encoder/decoder,当然加几个文件不会导致文件急剧膨胀。
仔细分析一下--enable-small的配置项,其实是在config.h里声称了CONFIG_SMALL选项,然后代码内根据CONFIG_SMALL做了一些调整,比如某些string类型就被省掉了,还有一些内置生成的table, 体积也被裁减掉了,用速度换体积。比如这里:
#if CONFIG_SMALL
#define CRC_TABLE_SIZE 257
#else
#define CRC_TABLE_SIZE 1024
#endif
总体上,干掉不需要的编码解码器,是没有什么犹豫的。对于--enable-small,这个优化其实是牺牲编码解码速度来换取动态库的瘦身,对于硬盘或者内存不是那么紧迫的应用,完全可以不打开。
阅读全文
0 0
- ffmpeg精简1
- ffmpeg精简
- ffmpeg精简
- ffmpeg精简
- ffmpeg精简
- ffmpeg的精简
- ffmpeg的精简
- ffmpeg 库精简
- ffmpeg的精简
- ffmpeg的精简
- 精简版ffmpeg编译脚本
- 精简版ffmpeg编译脚本
- ffmpeg源码分析之mpegts.c——精简分析
- 精简jre(1)
- Springmvc精简教程(1)
- 精简
- 精简
- FFmpeg学习—android 编译 ffmpeg 集成fdk-aac、x264 精简解码库
- 自动装箱与自动拆箱
- 事务管理的理解,事务管理的作用举例说明
- 机器学习第二课
- 关于法线向量的计算
- eclipse的常用快捷键以及插件的安装
- ffmpeg精简1
- Lua元表中__index元方法的作用
- 人工智能从入门到精通(10)
- CloudCompare 编译
- 菜鸟shell 脚本学习日记
- 数组
- laravel 课程学习系列一----------------第一章.composer快速入门
- scikit-learn 中文文档-协方差估计-无监督学习|ApacheCN
- EasyDSS RTMP流媒体解决方案之直播录像自动清理方案