环境搭建

安装mingw

 

修改D:\MinGW\msys\1.0下的msys.bat文件

set "HOME=D:\MinGW\bin" 设置环境变量不设置时会出现某个dll缺失的bug

call "D:/Program Files/Microsoft Visual Studio 10.0/VC/bin/vcvars32.bat" 使用vs2010生成.lib文件

 

安装sdl-devel

Sdl介绍

Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."

SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.

SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, D, Eiffel, Erlang, Euphoria, Go, Guile, Haskell, Java, Lisp, Lua, ML, Oberon/Component Pascal, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl.

SDL is distributed under GNU LGPL version 2. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library

 

Sdl编译

编译SDL,在MinGW安装时必须选择g++ compiler和开始默认的C编译工具。再着就是下载SDL  http://www.libsdl.org/hg.php    说关键其实很步骤很简单,就和Linux或者Cygwin中安装软件一样简单,打开MSYS,输入命令./configure;make;make install,之后等着执行完毕。就安装成功了。它应该位于MSYS/1.0/local/bin目录下,为了测试你是否安装成功SDL,可以使用SDLtest文件夹下的测试程序。当然测试程序也需要你自己来编译,在MSYS中进入SDL/test目录下,输入命令./configure;make。之后就有很多的测试程序编译成了.exe的文件,这时你可以使用鼠标双击某个.exe的文件进行测试。如果能够运行,恭喜你,

MSYS/1.0/local/bin copy D:\MinGW\bin

MSYS/1.0/local/lib copy D:\MinGW\lib

MSYS/1.0/local/include copy D:\MinGW\include目录下

解决方法:关闭杀毒软件

 x264

介绍

x264是一个开源的H.264视频编码函数库。是最好的有损视频编码器。

主页: http://www.videolan.org/developers/x264.html

 

安装

解压,进入解压包
1) ./configure --enable-win32thread
2) make & make install
3)
x264.hx264_config.h这两个文件从d:/mingw/msys/1.0/local/include目录拷贝到d:/mingw/include目录。

4) libx264.a文件从c:/mingw/msys/1.0/local/lib目录拷贝到c:/mingw/lib目录。

 

Lame

介绍

LAME 是最好的MP3编码器,编码高品质MP3的最好也是唯一的选择。LAME本身是DOS下的文件,需要加外壳程序才比较容易使用,也可以在别的软件(比如EAC)中间调用。是一款出色的MP3压缩程序,它使用了独创的人体听音心理学模型和声学模型,改变了人们对MP3高音发哑、低音发破的音质的印象。

安装

1) ./configure
2) make & make install
3)
lame目录从d:/mingw/msys/1.0/local/include目录拷贝到d:/mingw/include目录。

4) libmp3lame.a文件从d:/mingw/msys/1.0/local/lib目录拷贝到d:/mingw/lib目录。

 

Ffmpeg

 http://www.ffmpeg.org/

执行./configure --enable-memalign-hack  --enable-static –enable-shared

后现错误:
gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from SVN.  If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.

解决方法 :关闭杀毒软件即可

 

出现mingw ffmpeg yasm not found

 

yasm是汇编编译器,因为ffmpeg中为了提高效率用到了汇编指令,比如MMXSSE。解决这个问题方面有两个:
1
、在网上下载一个yasm.exe并安装在mingw/bin下面,编译代码时你注意看,会发现asm后缀的文件用的编译器是yasmc文件用的是gcc

2、不使用汇编指令,在配置时加上,即./configure  --disable-yasm

 

yasm下载地址:http://yasm.tortall.net/Download.html

下载yasm-1.2.0-cygwin.exe

改名后放到cygwin/bin

 

最后验证ffmpeg编译是否正确

Ffmpeg –I xx.wmv  -strict -2 xx.mp4

自己编译ffmpeg大功告成

 

 

待解决问题

没有生成ffserver.exe