您的位置:首页 > 理论基础 > 计算机网络

ffmpeg0.6编译后的sdk的使用举例——音频转换

2010-11-04 15:41 477 查看
最近一直在研究ffmpeg,我是刚入门,在网络上得到了许多前辈们帖子的帮助。把自己知道的心得写下来,帮助那些和我一样刚入门,苦苦寻求帮助的童鞋们。

 

终于编译出来了ffmpeg的SDK,赶快试用一下吧。

 

1.首先编译出来的dll和lib同样的名字有很多,比如:

 

 


该用哪一个那,通过实验,avutil.lib和avytil-50.dll就足够了。当然网上也有很多帖子,写如何去掉版本号。我没有试。

有时间可以尝试一下。

 

2.我做的是音频转换,用的代码是ffmpeg工作组的例子http://www.ffmpeg.com.cn/index.php/%E4%BD%BF%E7%94%A8SDKv3%E5%AE%9E%E7%8E%B0%E9%9F%B3%E9%A2%91%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2

 

3.先用MSVC6建立一个工程,再加入上面链接代码保存成的c++文件。

  我的目录结构是这样的:

 


include里面是所有编译产生的头文件



 

4.将需要的dll和lib文件放在MSVC的文件夹下



5.还有这个inttypes.h和stdint.h文件,我放在http://download.csdn.net/source/2808330可以下载

 

6.将所有的头文件的中的

#include <inttypes.h> -->#include "inttypes.h"

#include <stdint.h> -->#include "stdint.h"

注释掉所有的 #include <math.h>

 

 

7. libavutil/common.h 中加入如下代码:

 

#    if !defined(__MINGW32__) && !defined(__CYGWIN__)
#        define INT64_C(c)     (c ## i64)
#        define UINT64_C(c)    (c ## i64)
#else

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

 

这样就不会出现UINT64_C的报错了。

 

8.MSVC的setting:

 

在project--》setting--》c/c++-->preprosser-->addtional include directory中加入:

 

  c:/Program Files/Microsoft Visual Studio/VC98/MFC/SRC/

 

 

9.还有cpp文件头上,要改一下

 

#pragma comment(lib,"avcodec.lib")
#pragma comment(lib,"avformat.lib")
#pragma comment(lib,"avutil.lib")

否则会找不到lib文件。行了,可以了。音频文件可以任意转换了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息