`
xpp02
  • 浏览: 1006965 次
社区版块
存档分类
最新评论

ffmpeg编译(生成Windows或Win32平台dll, lib)

 
阅读更多

ffmpeg编译(生成Windows或Win32平台dll, lib)


介绍:本文简要介绍通过cygwin环境来编译生成ffmpeg。
包括解码组件libfaad与libopencore-amrnb的编译。


1)安装msys + mingw环境
具体安装过程可以看网上教程
我用的是:http://code.google.com/p/msys-cn/
假设装在d:/msys
如果需编译libfaad,还需装msysDTK-1.0.1.exe
需在msys.bat文件首行加入:call "D:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat"

2)下载最新ffmpeg源码
我用的是:ffmpeg-export-2009-12-22版(即:SVN-r20910-snapshot)
解压缩至e:/ffmpeg_r20910_win32

3)修改e:/ffmpeg_r20910_wm/common.h文件,如下:
#ifndef av_cold
//GCC on MinGW has bug on "cold" feature
//#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
#if 0


3)按需下载各解码组件,如
faad2-2.7.zip (AAC解码组件)
opencore-amr-0.1.2.tar.gz (amr解码组件)
新建e:/ffmpeg_r20910_wm/codecs目录,将组件放入其中

4)编译各解码组件
4.1)libfaad
解压缩faad2-2.7.zip,依次执行
autoreconf -ivf
./configure --enable-static --disable-shared --prefix=/mobile
make (编译时出错two or more data types什么的,不用管,libfaad.a已经生成)
make install
4.2)libopencore-amr
解压缩opencore-amr-0.1.2.tar.gz,依次执行
./configure --enable-static --disable-shared --prefix=/mobile
make
make install

5)编译ffmpeg
#!/bin/sh
./configure --enable-memalign-hack --prefix=/mobile --enable-libfaad --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-static --enable-shared --enable-gpl --enable-version3 --disable-zlib --disable-ipv6 --disable-debug --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-encoders --disable-network --disable-muxers --extra-ldflags="-L/mobile/lib" --extra-cflags="-I/mobile/include"
此命令太长,可以将命令写入到sh文件(如doConfigureWin32.sh)来执行。(出现libvdpau>=0.2提示,不用管)
make
make install
保留类似于avcodec-52.dll avcodec-52.lib的文件,删除其它。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics