先给自己打个广告,本人的微信公众号:张笑生的地盘,主要关注嵌入式软件开发,股票基金定投,足球等等,希望大家多多关注,有问题可以直接留言给我,一定尽心尽力回答大家的问题。
在前一篇博客《视音频学习入门—ffmpeg篇(一)—入门ffmpeg》已经讲过如何去ffmpeg官网下载适合windows平台的源文件了,关于下载,上一节漏了一个小细节,本篇再详细说明一下。
当跳转到ffmpeg的windows下载主页时,发现选择版本的位置一共有三个选项,分别是“static”、“Shared”、以及“Dev”,它们有什么区别呢?
分别将三个源文件下载下来,看文件内容有什么就知道它们之间的差异了
一 static
static主要有如下几个文件夹和文件
bin文件夹下有3个exe执行文件,但是这三个执行文件都比较大,在72MB左右,这是因为ffmpeg相关的dll文件已经被编译到这三个exe执行文件中。
二 shared
同样地,shared也是类似几个文件夹和文件
再来看一下bin文件夹,这时除了几个exe执行文件,还有一些dll库文件。三个exe执行文件和static一模一样,但是文件大小却比static下面的小了很多,这是因为dll库没有被编译到exe文件中,在调用这里的三个执行文件时是采用的动态库形式调用dll文件来实现的。
总结:static和share文件夹的内容基本上是类似的,区别就是静态库dll是否被编译进exe执行文件。
三 dev
dev文件夹内容和static/shared发生了变化,不在是bin文件夹了,而是include和lib文件夹,dev里面没有exe执行文件.
其中lib文件夹是ffmpeg用到的最重要的8个库文件
那dev和static/shared的区别是什么呢?static/shared是给用户实现命令行形式来开发的,用户在它的进程中通过调用这些命令行实现开发;而dev是实现函数调用来开发的,这些函数就相当于ffmpeg封装好的API,用户直接代用这些API即可,我相信对于大多数程序员来说,应该比较习惯于调用API的方式来开发的。
所以个人建议采用dev库来实现ffmepg开发,然后通过命令行来协助验证我们自己的程序是否正确。