windows下编译ffmpeg

今天由于工作需求需重新编译ffmpeg,百度,goole了一大堆,看眼花缭乱的,但几乎都是三种方案,大部分都是直接转发,一字不漏,错误的缺文件的还是照转,可是问题都大把的,于是乎,我整理如下资料,供初学者能少走弯路!

英文好的可以参考官网:

ffmpeg官网重新编译方案:https://trac.ffmpeg.org/wiki/CompilationGuide/MinGW

一.环境:

1.系统:

win7  64位

2.编译工具:

mingw:mingw-get-inst-20101030.exe

yasm:yasm-1.3.0-win64.exe

pkg-config_0.23-3_win32

SDL-devel-1.2.14-mingw32.tar.gz(编译好的)  编译生成ffplay才需要

3.安装:

(1)mingw:如下图勾选

2.yasm:

yasm-1.3.0-win64.exe改名yasm.exe放到C:\MinGW\msys\1.0\bin文件夹下(根据自己mingw的安装路径)

3.pkg-config

pkg-config_0.23-3_win32文件夹下的bin下的libglib-2.0-0.dll和pkg-config.exe拷贝到C:\MinGW\msys\1.0\bin文件夹下(根据自己mingw的安装路径)

4.sdl-config

发现只有ffprobe.exe ffmpeg.exe

没有ffplay.exe, ffserver.exe

从sdl的官网下载已经编译好的dll:SDL-devel-1.2.14-mingw32.tar.gz

然后解压, 将其中的bin, lib, include 3个文件夹拷贝到mingw的目录下, 当询问是否覆盖, 选择是.

到bin目录找到sdl-config.用ultraedit打开. 将PREFIX=后面的值改为c:/mingw,接下来, 编译, 成功获得ffplay.exe.

二.ffmpeg编译有哪些方法:

1.cygwin  推荐:linux使用

2.MinGW+MSys 推荐:windows使用

三.如何使用编译后的ffmpeg:

1.配置:

打开C:\MinGW\msys\1.0\msys.bat文件,在文件头部加上

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

这句话的作用就是: 设置 2008 x86 的开发环境。我们主要是使用它的 lib.exe 生成 *.lib 文件。

运行msys.bat, 程序会根据你当前的用户名,在目录(C:\MinGW\msys\1.0\home)下建一个工作目录。

目录的名称和你的用户名一样。如果当前你的系统用户名是 administer, 那么你的工作目录就是(C:\MinGW\msys\1.0\home\administer)

2.编译:

解压缩 ffmpeg代码 到 MinGW 的工作目录。例如(C:\MinGW\msys\1.0\home\administer)

运行  C:\MinGW\msys\1.0\msys.bat,即可进入 MinGW 的工作目录了。

在命令行下输入如下命令:

静态编译:./configure --enable-shared --enable-static --enable-memalign-hack --prefix=c:/msys/1.0 --extra-cflags="-fno-common"

静态编译:./configure --enable-shared --disable-static --enable-memalign-hack --prefix=c:/msys/1.0 --extra-cflags="-fno-common"

此参数可省:--prefix=c:/msys/1.0 --extra-cflags="-fno-common"

成功后,编译生成的文件保存在 (C:\MinGW\msys\1.0\local\bin),头文件保存在 (C:\MinGW\msys\1.0\local\include)。

注:

静态编译的会生成local文件夹;

动态编译的则不会,生成的和源码在一起,通过搜索查找需要的;

第三方库文件的安装

参考:http://blog.chinaunix.net/uid-29184939-id-4881778.html

ffmpeg windows下编译ffmpeg的更多相关文章

  1. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  2. windows下编译ffmpeg

    windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间.终究起原因,都是当时记得,过段时间就忘了.好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译 ...

  3. 在Windows下编译ffmpeg完全手册

    本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...

  4. [转]在Windows下编译ffmpeg完全手册

    本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...

  5. 在windows下编译ffmpeg

    编译ffmpeg,我在网上找了很多相关的方法,但最后都没编译成功. 所以下面就记录下自己的编译方法吧,留着以后编译的时候做参考. 1.首先,下载编译工具MinGW+Msys,搭建编译环境.工具下载地址 ...

  6. ffmpeg windows下编译安装

    安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ust ...

  7. Windows下编译安装 FFmpeg

    在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

  8. 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  9. windows 下编译64位ffmpeg

    window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...

随机推荐

  1. 浅谈K-D Tree

    初步认识\(K-D\) \(Tree\) \(K-D\) \(Tree\)是一种基于空间分割的二叉树形数据结构,一般用于高维信息检索.因为\(OI\)中很多问题都能转化为高维信息检索,所以\(K-D\ ...

  2. BZOJ3403:[USACO2009OPEN]Cow Line

    浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  3. POJ3641(快速幂)

    Pseudoprime numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8529   Accepted: 35 ...

  4. DripRoad(点滴之路)

    关于DripRoad DripRoad 意为点滴之路,程序员之路在于点滴积累!是的,这些积累包括技术能力,沟通能力,业务能力等等.   我 我是唐志伟,2009年一个人来上海,就读于上海医疗器械高等专 ...

  5. malloc 动态分配内存

    很久没有学习C了,复习下,有时候觉的C特别优美,学习算法和数据结构最佳选择. #include "stdafx.h" #include<stdlib.h> int ma ...

  6. Python代码规范总结

    1.缩进问题: Tip:用4个空格来缩进代码 不要用Tab键或者是Tab和空格混用, vim用户可以将tab键设置为4个空格的长度.要么选择垂直对齐换行的元素, 或者是使用4空格悬挂式缩进(第一行没有 ...

  7. 第二章 深入分析Java I/O的工作机制(待续)

    Java的I/O类库的基本架构 磁盘I/O工作机制 网络I/O工作机制 NIO的工作方式 I/O调优 设计模式解析之适配器模式 设计模式解析之装饰器模式 适配器模式与装饰器模式的区别

  8. form(去掉关闭按钮,禁止调整大小)

    禁止Form窗口调整大小方法:FormBorderStyle 设为FixedSingle: 不能使用最大化窗口: MaximuzeBox 设为False: 不能使用最小化窗口:   MinimizeB ...

  9. C# 连接Mysql 字符串

    Database=XXX;Data Source=XXX;User Id=XXX;Password=XXX;pooling=false;CharSet=utf8;port=3306

  10. ffmpeg/ffplay源码剖析笔记<转>

    转载:http://www.cnblogs.com/azraelly/ http://www.cnblogs.com/azraelly/archive/2013/01/18/2865858.html ...