ffmpeg msys编译成功后提取sdk

原因:从网上下载的ffmpeg sdk比较全,但是却不能定制,所以打算使用ffmpeg msys编译出来,自己提取sdk。

1.使用msys集成开发包,(集成了很多东东),

2.编译ffmpeg0.8.5,下载src,tar,

./configure --enable-shared --disable-static --enable-memalign-hack --enable-debug=2

make && make install

执行过make install后在X:/msys/1.0/local/就有了相应的文件了,include,lib,主要需要include,lib拷贝出来放到任何一个目录下(vs2005测试用),比如放置到c\:ffmpeg下,现在直接使用这个sdk还有问题,主要就是缺少两个文件和UINT64_C错误,从ffmpeg full sdk中拷贝缺少的文件,然后在comm.h的增加

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

到这里应该可以编译成功

测试文件:

建立一个vs2005的控制台程序

#extern "C"

{

#include <libavcodec/avcodec.h>

...

};

#paragma comment(lib, "libavcodec.dll.a")//这样也可以,不需要改正lib

int _tmain(int argc, _TCHAR* argv[])
{
avcodec_register_all();
return 0;

}

在这里只是简单的测试下函数能否调用成功,具体编解码就没有测试了,ffmpeg还是菜鸡。

其他问题:

在用m sys编译的过程中,默认SDL是不support的,需要自己从SDL网站上download,自己编译。

解决:使用hg代码管理工具,下载1.2.1版本,高版本的好像不支持,下载后解压到msys/1.0/home/Admin.../下,tar -xvf SDL....

./configure --prefix = /usr && make && make install

 这样就可以用SDL库了,注意需要--prefix = /usr ,否则的话在ffmpeg configure过程中还是搜索不到sdl,从网上查过,应该是安装路径问题。

使用SDL后,ffmpeg的log信息没有了

解决:修改config.mak中查找到SDL编译参数部分,取出-mwindows选项,具体什么东东不知道。现在在ffmpeg 中增加av_log看看效果已经可以 log了。

需要yasm,baidu一下,搞定

msys的安装包,具体从那down的不记得了,保存在我QQ上,要的话给我email.(251668236@qq.com)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值