ffmpeg windows下编译ffmpeg
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的更多相关文章
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- windows下编译ffmpeg
windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间.终究起原因,都是当时记得,过段时间就忘了.好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译 ...
- 在Windows下编译ffmpeg完全手册
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...
- [转]在Windows下编译ffmpeg完全手册
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...
- 在windows下编译ffmpeg
编译ffmpeg,我在网上找了很多相关的方法,但最后都没编译成功. 所以下面就记录下自己的编译方法吧,留着以后编译的时候做参考. 1.首先,下载编译工具MinGW+Msys,搭建编译环境.工具下载地址 ...
- ffmpeg windows下编译安装
安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ust ...
- Windows下编译安装 FFmpeg
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...
- 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- windows 下编译64位ffmpeg
window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window 下如何编译64位ffmpeg库. 一.搭建编译环境 1.下载 windows下编译64位F ...
随机推荐
- 浅谈K-D Tree
初步认识\(K-D\) \(Tree\) \(K-D\) \(Tree\)是一种基于空间分割的二叉树形数据结构,一般用于高维信息检索.因为\(OI\)中很多问题都能转化为高维信息检索,所以\(K-D\ ...
- BZOJ3403:[USACO2009OPEN]Cow Line
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
- POJ3641(快速幂)
Pseudoprime numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8529 Accepted: 35 ...
- DripRoad(点滴之路)
关于DripRoad DripRoad 意为点滴之路,程序员之路在于点滴积累!是的,这些积累包括技术能力,沟通能力,业务能力等等. 我 我是唐志伟,2009年一个人来上海,就读于上海医疗器械高等专 ...
- malloc 动态分配内存
很久没有学习C了,复习下,有时候觉的C特别优美,学习算法和数据结构最佳选择. #include "stdafx.h" #include<stdlib.h> int ma ...
- Python代码规范总结
1.缩进问题: Tip:用4个空格来缩进代码 不要用Tab键或者是Tab和空格混用, vim用户可以将tab键设置为4个空格的长度.要么选择垂直对齐换行的元素, 或者是使用4空格悬挂式缩进(第一行没有 ...
- 第二章 深入分析Java I/O的工作机制(待续)
Java的I/O类库的基本架构 磁盘I/O工作机制 网络I/O工作机制 NIO的工作方式 I/O调优 设计模式解析之适配器模式 设计模式解析之装饰器模式 适配器模式与装饰器模式的区别
- form(去掉关闭按钮,禁止调整大小)
禁止Form窗口调整大小方法:FormBorderStyle 设为FixedSingle: 不能使用最大化窗口: MaximuzeBox 设为False: 不能使用最小化窗口: MinimizeB ...
- C# 连接Mysql 字符串
Database=XXX;Data Source=XXX;User Id=XXX;Password=XXX;pooling=false;CharSet=utf8;port=3306
- ffmpeg/ffplay源码剖析笔记<转>
转载:http://www.cnblogs.com/azraelly/ http://www.cnblogs.com/azraelly/archive/2013/01/18/2865858.html ...