ffmpeg源码分析与应用示例(二)——代码抽取的意义

我最早是在课堂上听说的可以从ffmpeg中通过抽取代码的方式提取出一个完整的编码器或解码器,最近正好在看ffmepg的源码,就想尝试一下。但经过调查之后,发现了代码抽取的几个问题:

1、如果只是抱着精简ffmpeg的目的进行代码抽取,则完全可以通过设置编译指令来实现,例如,希望编译出一个只有H264解码器功能的ffmpeg,可以使用如下的命令

 ./configure --disable-everything --enable-decoder=h264 ……
这还是没有加上--enable-small等其他编译选项的情况,编译出来的各种动态库加到一起也就3.7MB,相比常规的编译方法得到的15.6MB,已经小了很多,这无疑比抽取代码要简单的多。

2、如果硬是要抽取代码,由于ffmpeg中有很汇编优化的内容,而多数代码抽取都是把c文件提取了一下(尤其是要用于windows的情况时),这样势必会带来很大的性能损失,事实上看网上的一些帖子也都有说提取的解码器解码太慢的问题,包括一些网友上传的源代码,我也有测试过,确实很慢,这样的话,抽取出来的代码就只有学习意义而无法用于实践了。而且要说有多大的学习意义,也未必就比得上直接看源码。

所以最后决定,暂时先不研究这个问题,搁置再议。




你可能感兴趣的:(源代码,ffmpeg)