zoukankan      html  css  js  c++  java
  • Windows下使用MinGW+msys编译ffmpeg

    Windows下编译ffmpeg有很多种方法,一种是纯MinGW+msys环境,一种是在VC20XX的命令行环境下使用MinGW+msys编译,

    还有一种是在cygwin环境下编译,当然还有各种交叉编译以及WinRT、WP8环境下编译,这里不讨论,本文只关注纯MinGW+msysy环境下的编译。

    如果是VC20XX环境下编译,可以参考:http://blog.sina.com.cn/s/blog_47612ff10101mri6.html

    本文是参考网上的文章综合而成,同时做为编译ffmpeg的笔记,如有疏漏谬误之处,望指正。

    一、编译准备

       您最好新建一个目录专门用来保存以下下载的文件。例如:F:ffmpeg

    1、下载 MinGW 和 MSYS

      MinGW(Minimalist GNU on Windows):一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。
      到:http://sourceforge.net/projects/mingw/ 去下载即可
      A. 点击“Download mingw-get-setup.exe (86.5 kB)
      B. 切换到页面:download? Check your browser's security bar, or try a direct link, or try another mirror.
      C. 点击“direct link”下载类似:mingw-get-setup.exe 的文件
      提示:msys此处就不用再下载了,最新版的 mingw-get-setup.exe 中已经包含了msys1.0,后面安装的时候就可以看到该选项。

    2、下载 yasm(汇编编译器), ffmpeg有少量的asm代码

      ffmpeg编译的时候里面的汇编代码需要yasm.exe
      去官网:http://yasm.tortall.net/Download.html 下载
      在Latest Release栏,直接下载:Win32 .exe (for general use on 32-bit Windows)
      文件名类似为:yasm-1.2.0-win32.exe

    3、下载 ffmpeg

      ffmpeg可以到 http://www.ffmpeg.org/download.html 下载
      选择的一个最新版本下载即可,如:ffmpeg-2.1.1.tar.gz
      文件名类似为:ffmpeg-2.1.1.tar.gz
      当然你也使用网上介绍的使用GIT直接下载源代码的方法。 
      git://source.ffmpeg.org/ffmpeg.git

    4、下载 SDL(支持SDL,可选项)

      SDL下载可以到:http://www.libsdl.org/download-1.2.php
      在Source Code栏选择类似:SDL-1.2.15.tar.gz - GPG signed 进行下载,
      文件名类似为:SDL-1.2.15.tar.tar,此文件需要编译才能生成lib库。
      也可以直接下载 SDL-devel-1.2.15-mingw32.tar.gz (Mingw32),文件名类似为:SDL-devel-1.2.15-mingw32.tar.tar,此文件带有编译好的lib,在编译ffmpeg时可以直接使用。

    5、下载 x264(支持x264,可选项)

      为了让编译出来的ffmpeg支持对x264格式的编解码,您需要先下载x264。
      到:http://www.videolan.org/developers/x264.html下载
      文件名类似为:last_x264.tar.bz2 的包。

    6、下载 Xvid(支持Xvid,可选项)

      为了让编译出来的ffmpeg支持对Xvid格式的编解码,您需要先下载Xvid。
      到:http://www.xvid.org/ 下载
      文件名类似为:xvidcore-1.3.2.tar.gz 的包。

    7、下载 mp3lame(支持mp3,可选项)

      为了让编译出来的ffmpeg支持对mp3格式的编解码,您需要先下载lame。
      到:http://sourceforge.net/projects/lame/files/ 下载
      文件名类似为:lame-3.99.2.tar.gz 的包。

    8、下载 faac(支持faac:AAC格式,可选项)

      到:http://www.audiocoding.com/downloads.html 下载:Version 1.28 bootstrapped TAR.GZ Package
      文件名类似为:faac-1.28.tar.gz 的包。

      注:faac 1.28在MinGW下使用必须打一个补丁,否则编译会报错,补丁请看:http://www.chinavideo.org/forum.php?mod=viewthread&tid=5225

      (补丁是一个diff文件(即文件差异),自己对比一下修改即可,或者使用patch.exe打补丁。)

    9、下载 faad2(支持faad:AAC格式和SBR支持,可选项)

      到:http://www.audiocoding.com/downloads.html 下载:Version 2.7 bootstrapped TAR.GZ Package
      文件名类似为:faad2-2.7.tar.gz 的包。

      注:faad2 2.7在MinGW下使用必须打一个补丁,否则编译会报错,补丁同上。(该补丁最简单,即把faad2-2.7/frontend/main.c的第34行“#define off_t __int64”注释掉即可)

    10、下载 aacenc(支持aac,可选项)

      到:http://sourceforge.net/projects/opencore-amr/files/ 下载:vo-aacenc
      文件名类似为:vo-aacenc-0.1.1.tar.gz 的包。

    11、下载 amr-nb与amr-wb (早期ffmpeg支持3gp,可选项)

      到:http://www.penguin.cz/%7Eutx/amr 下载:amrnb-7.0.0.2.tar.bz2与amrwb-7.0.0.4.tar.bz2
      文件名类似为:amrnb-7.0.0.2.tar.tar 与amrwb-7.0.0.4.tar.tar 的包。

    12、下载 opencore-amr与vo-amrwbenc (支持3gp,可选项)

      到:http://sourceforge.net/projects/opencore-amr/files/ 下载:opencore-amr 与 vo-amrwbenc
      文件名类似为:opencore-amr-0.1.2.tar.gz 与vo-amrwbenc-0.1.1.tar.gz 的包。

    13、下载 pthreadGC2.dll

      pthreadgc2.dll是功能强大的处理数字化影视作品编辑软件premiere6运行所需的一个DLL文件。这是一个无威胁文件。属于Open Source Software community project的文件。
      到:http://www.sourceware.org/pthreads-win32/ 下载。最新版是:2.9.1

    参考文章

      http://blog.chinaunix.net/uid-20718335-id-2980793.html
      http://blog.csdn.net/yangshu168/archive/2010/01/17/5204269.aspx
      http://blog.csdn.net/himulakensin/article/details/6693457
      http://blog.csdn.net/huangxiansheng1980/article/details/5712003

  • 相关阅读:
    js,js中使用正则表达式
    web开发中文件下载
    EL表达式
    Servlet Filter
    压缩文件 乱码问题(转载)
    MFC CopyDirectory
    SaveFileDialog
    Create Window
    CDateTimeCtrl 设置时间
    键值表
  • 原文地址:https://www.cnblogs.com/shines77/p/3500337.html
Copyright © 2011-2022 走看看