zoukankan      html  css  js  c++  java
  • windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载

    经过一晚上加一上午的奋斗,终于成功编译出了最新版的FFMPEG,下面是我编译的心得,因为是最新的,应该会对大家有用,编译的FFMPEG的版本是0。11。2,2012-09-19新发布的版本

    平台:WINDOWS XP,MinGW+MSYS

    一、下载FFMPEG

    大家可以到FFMPEG官网上去下载最新版:http://ffmpeg.org/download.html现在的最新版就是我编译的版本;

    其实我更喜欢下面这个地址,直接列出来所有的供下载的版本:http://ffmpeg.org/releases/

    二、下载MinGW

    1、下载

    地址是:http://sourceforge.net/projects/mingwbundle/files/,在这个页面上点击Download下载那个zip文件。下载完成后,直接安装,我使用的是默认路径。(这个文件比较大,是MinGW+MSYS的合并安装包,下载并安装后,把C:msys1.0in文件夹复制出来,备份保存);

    默认路径为:C:minGW和C:msys1.0

    2、配置环境变量
    右击“我的电脑”-》属性-》高级-》环境变量
    按如图操作,在PATH的编辑框最后加上C:MinGWin

    注意用“;”与前面的隔开

    三、下载MSYS

    地址:http://download.csdn.net/detail/harvic880925/4602268

    下载后,还是默认安装,安装前不用卸载前面第一步中安装的版本,也就是把第一步的版本给覆盖掉;

    在安装结束的时候会提出DOS提示窗口:

    最后一句为:
    Do you wish to continue with the post install? [yn ]
    输入n,结束安装。

    四、将在第一步中提取出来的bin文件夹内容,复制到C:msys1.0in文件夹下覆盖现在的文件;

    五、http://yasm.tortall.net/Download.html上下载yasm的exe文件(需要根据自己的操作系统选择是Win32.exe还Win64.exe),下载完后重命名为yasm.exe,放到MinGW安装目录的bin目录下。

    如果没有这一步操作,在后面编译ffmpeg的过程中,可能会提示找不到yasm命令。ffmpeg里面的汇编加速部分的代码需要用到它,如果禁用汇编加速,会影响编译出来的编解码库的运行效率

    六、编译

    1、依下面步骤打开“msys.exe”

    开始-》所有程序-》MinGW-》MSys-》msys

    2、打开“VS 2008命令提示”

    开始-》所有程序-》Microsoft Viusal studio 2008-》Viusal studio Tools-》Visual Studio 2008命令提示

    输入:c:msys1.0msys.bat,如下图


    不用管前面是什么,直接输入,然后回车,之后就跳转到下面这个界面:


    输入:lib  回车

    然后就得到下面的界面:


    在编译FFMPEG之前,有一个事我想提一下,如果想要支持X264编码的话,要先安装X264,对于如何安装X264,在下文中有,这里就假设已经安装了X264

    之后编译FFMPEG的操作了,比如我下载的FFMPEG名为:ffmpeg-0.11.2,解压到D盘下;

    在上面的命令提示行下,输入下面代码:(括号内为说明内容)

    1. cd d:  
    2. cd ffmpeg-0.11.2         (即转到ffmpeg-0.11.2文件夹下)  
    3. ./configure --enable-memalign-hack --enable-memalign-hack  

    等执行完成后,回到命令行,输入

    1. make distclean              (清理中间文件)  
    2. $./configure --enable-memalign-hack --enable-ffserver --enable-network --enable-protocols --enable-muxers --disable-yasm --enable-shared --enable-w32threads --enable-libx264 --enable-gpl --extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib  
    3. make   
    4. make install  

    对于以上命令,可以用./configure –-help打开帮助,里面有解释

    完成后,所有的头文件、库文件都保存在C:msys1.0local文件夹里;
    --extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib 这两句命令是将X264的头文件和库文件包含在运行程序中,不过我在运行此程序之前将.lib文件考到了lib文件夹下了,不知道如果不考的话会不会有影 响。

    这里参考文章是:http://blog.sina.com.cn/s/blog_54b5ea250100r53o.html

    下面是我编译完成的local文件夹里的全部内容,供大家分享,有兴趣的可以去下载;

    地址:

    特别鸣谢:http://ffmpeg.arrozcru.org/wiki/index.php?title=Shared_LIB

    MinGW+MSYS编译X264

    一、下载最新的X264

    1、地址:http://www.videolan.org/developers/x264.html,点击左边那个大大的按钮“DownLoad X264”,下载时不要用搜狗自动的下载,因为我用搜狗下的总是坏的包,最好在按钮上右击用迅雷下载,大小有500多K;

    2、因为是.tar.bz2结尾的压缩包,常用的WINRAR不能解压,下载7-zip,来解压,解压到msys的home文件夹下

    位置如图:

    二、编译X264

    1、重复上面的第六步中的“1-3”小步

    2、切到X264工作目录,然后中编译,总体输入以下代码:

    cd c:

    cd msys

    cd 1.0

    cd home

    cd x264

    ./configure--enable-win32thread --enable-shared --disable-asm

    make

    make install

    到此,在msys的local文件夹下会生成所需的头文件和DLL,但没有.lib文件,下面我们就用dll来提取lib文件;

    三、提取lib

    1、下载工具:poxports,地址:http://download.csdn.net/detail/harvic880925/4603881

    将其中的pexports.exe放到VS2008的VCin目录下,我的是D:Program FilesMicrosoft VisualStudio 9.0VCin,

    2、将msys的local文件夹下生成的DLL文件同样复制到D:ProgramFilesMicrosoft Visual Studio 9.0VCin目录下,比如我生成的DLL名为:libx264-128.dll

    3、依次点击开始-》所有程序-》MicrosoftVisual Studio 2008-》Visual Studio Tools-》Visual Studio 2008命令提示

    就此打开了VS2008命令提示界面

    输入: (括号内为说明内容)

    cd bin       (切换到bin目录下)

    pexports libx264-128.dll > libx264-128.def

    lib /machine:ix86 /def:libx264-128.def

    (以上内容为避免错误可以直接复制、粘贴到命令行)

    到这应该就会在D:ProgramFilesMicrosoft Visual Studio 9.0VCin下生成libx264-128.lib文件了,如果没有可以重新执行下第3步,我第一次出现了个warning就没有成功,第二次才成功的。

    我将我生成的文件上传我资源中,不收分,想要的可以去下载:

    FFMPEG(2012-9-19):http://download.csdn.net/detail/harvic880925/4604774

    X264 地址:http://download.csdn.net/detail/harvic880925/4603907

  • 相关阅读:
    PowerDesigner反向生成物理数据模型
    10个JavaScript的难点
    Golang数组拼接为字符串
    Golang对元素slice并去重
    golang获取开始日期和结束日期的所有日期列表
    go数组取交集截取
    golang学习笔记
    go语言time包简单使用
    windows为GO设置代理解决go get缓慢
    sublime使用笔记
  • 原文地址:https://www.cnblogs.com/happyday56/p/4014129.html
Copyright © 2011-2022 走看看