minGw编译php,Mingw下ffmpeg编译

环境搭建

安装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,可以使用SDL中test文件夹下的测试程序。当然测试程序也需要你自己来编译,在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视频编码函数库。是最好的有损视频编码器。

安装

解压,进入解压包1) ./configure --enable-win32thread

2) make & make install

3)把x264.h和x264_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中为了提高效率用到了汇编指令,比如MMX和SSE。解决这个问题方面有两个:1、在网上下载一个yasm.exe并安装在mingw/bin下面,编译代码时你注意看,会发现asm后缀的文件用的编译器是yasm,c文件用的是gcc;

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

下载yasm-1.2.0-cygwin.exe

改名后放到cygwin/bin下

最后验证ffmpeg编译是否正确

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

自己编译ffmpeg大功告成

待解决问题

没有生成ffserver.exe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值