windows 7下mingw+msys编译ffmpeg

 

1-->下载安装MingW,mingw-get-inst-20120426.exe  http://sourceforge.net/projects/mingw/

安装路径 默认C:\MinGW 。勾选了 <1> C Compiler  <2> C++ Compiler <3>MSYS Basic System <4>MinGW Developer ToolKit

其中 <3>就安装了 msys。这样安装需要联网,自动下载mingw项目下一些工具文件。

安装完成后,为了方便VS200X以及VS2010调用ffmpeg的动态库,可以通过配置让ffmpeg编译时产生windows下调用dll对应的lib。根据我的VS2010安装目录,用noteplus notepad++ ue等支持Uinux换行的文本工具打开 C:\MinGW\msys\1.0\msys.bat

在最最前面加上下面一行

call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"

将 msys.bat发送到桌面快捷方式,就可以方便打开命令窗口了,一个简单的linux shell。

这样 cd /e/ffmpeg/ 就切换到E:/ffmpeg/目录下

2--->下载安装yasm,因为编译ffmpeg里面的汇编代码需要yasm.exe,没有这个的话,也能编译通过,可能使用的时候,效率没有那么高。 http://yasm.tortall.net

Win32 VS2010 .zip (for use with VS2010 on 32-bit Windows) Version 1.2.0 Release: October 31, 2011

为了减少配置环境变量的麻烦,解压后把 vsyasm.exe 文件名修改成:yasm.exe,并放到系统目录下:C:WINDOWS\system32\下。

3--->下载安装ffmpeg。 http://www.ffmpeg.org Version 1.1 Release:January 7, 2013

4--->编译X264(项目需求)

http://www.videolan.org/developers/x264.html  下载 解压 得 x264-snapshot-20130114-2245

打开 msys.bat,命令行

1.$ cd e/ffmpeg/x264-snapshot-20130114-2245/

2.$ ./configure --enable-shared --disable-asm

3.$ make

4.$ make install

这样就把编译结果复制到 C:\MinGW\msys\1.0\local 下 bin include lib这三个文件夹下面。

输入命令有个技巧,可以复制后,在msys.bat的命令行窗口标题栏点击右键,以此选择--''编辑--粘贴(P)''。类似DOS,标记后即是复制。

如果编译失败或者重新编译,先运行make distclean或者make clean,再执行上面1--2--3--4

5--->下载SDL。没有SDL编译出来的ffplay.exe不能播放视频。

http://www.libsdl.org/download-1.2.php 最后有一个 win32 SDL-devel-1.2.15-mingw32.tar.gz (Mingw32)

解压后 bin include lib文件夹内容对应拷贝到C:\MinGW\msys\1.0\local 下 bin include lib这三个文件夹下。

使用UltraEdit打开刚刚拷贝的C:\MinGW\msys\1.0\local\bin下的 sdl-config文件
    把 prefix=/usr/*******  该成: prefix=c:/mingw
其中:c:/mingw 为 mingw的安装路径,请根据你的安装进行修改。为了编译时msys能识别sdl并开启 SDL support yes 进行编译。

windows 7下mingw+msys编译ffmpeg的更多相关文章

  1. 开源项目:windows下使用MinGW+msys编译ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

  2. windows 下使用 MinGW + msys 编译 ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

  3. windows下用vs2010编译ffmpeg

    转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg ...

  4. 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用)

    目录 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用) 背景 下载地址 仓库地址 安装部署 msys2 安装 配置环境变量 ...

  5. 在Windows通过使用MinGW静态编译Assimp

    使用MinGW静态编译Assimp 到了5月份了.没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...

  6. Linux下使用NDK编译FFMPEG(libstagefright)

    这个月要负责一个项目,使用FFMPEG渲染视频,主要是Android端的,由于性能要求,要使用硬解码,但网上大多数教程都是没有libstagefright的,所以个人觉得,生成的so库文件也是没有开启 ...

  7. Windows环境下使用VS2005编译OpenSSL

    如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...

  8. Ubuntu下安装和编译ffmpeg

    参考:http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu   1.安装依赖包 sudo apt-get update sudo apt-get -y ...

  9. FFmpeg编译:Linux下使用NDK编译FFmpeg

    环境: Ubuntu 1.下载并解压FFmpeg3.4.zip(略) 2.将编译脚本放入到FFmpeg解压后的目录. 3.执行编译脚本: ./linux_build_android.sh linux_ ...

随机推荐

  1. nginx 不能解析php怎么办

    在服务器下源码安装了 mysql php  nginx,结果nginx不支持php.解决方法,在nginx配置文件中添加: ocation ~ .*\.php?$ { fastcgi_pass 127 ...

  2. map 玩家上线

    map 玩家上线 else if(gs2ms_add_player == pkt.cmd) { PlayerChannel* pPC = new PlayerChannel(this); //加到地图 ...

  3. 九度OJ 1192:回文字符串 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3807 解决:1778 题目描述: 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的. 输入: 输入包括一行字符串 ...

  4. 关于Spring学习解析顺序

    最高接口BeanFactory开始解析,暂定为一级接口! 从上往下进行分析学习! 分析的Spring源码版本是:4.3.3

  5. Python菜鸟之路:Python基础-内置函数补充

    常用内置函数及用法: 1. callable() def callable(i_e_, some_kind_of_function): # real signature unknown; restor ...

  6. 页游手游服务器(三)lua网络层

    在(一)中,介绍了c对lua层的拓展,这边主要写lua层的网络部分,目标是实现RPC调用,实现主要是三部分: 1通信协议(消息的序列化和反序列化) rpc调用主要信息包括方法名,方法参数,设计的通信协 ...

  7. 我的Java开发学习之旅------>Base64的编码思想以及Java实现

    Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打开exe.jpg.pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的 ...

  8. 内存写越界导致破环堆结构引起的崩溃问题定位经验[如报错malloc(): memory corruption或free(): invalid next size]

    前段时间开发的一个后端C模块上线后,线上出core,初始时,因为訪问压力不大,所以崩溃是上线3天左右出现的.当时用gdb跟进调用堆栈并检查源代码,发现出core位置的代码沒有啥问题.因为当时开发任务较 ...

  9. python基础2 ---python数据类型一

    python的数据类型 一.什么是数据类型以及数据类型的分类 1.数据类型的定义:python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所 ...

  10. 文件传输协议FTP

    之前已经了解了TCP/IP这种低级别的协议,还有一些网络协议包括文件传输(FTP,STP).阅读Usenet新闻组(NNTP).电子邮件发送(SMTP).从服务器上下载电子邮件(POP3.IMAP)等 ...