zoukankan      html  css  js  c++  java
  • 再次尝试windows下msys+MinGW编译ffmpeg


    电脑上安装太多的开源库,环境变量里面一些常用的头文件都有几种,以前使用的编译ffmpeg的方法现在常常提示错误。从config.log中看,这些错误往往都是一些头文件引用错误导致。
    由于项目中继续编译自己的ffmpeg,本次从零开始,搭建msys+mingw的编译环境。
    参考网友资源,特此表示感谢。 http://blog.csdn.net/chen_chun_guang/article/details/7023638
    首先说明本次实验环境:windows xp安装虚拟机vmware 8.0,在虚拟机里安装了一个windows xp,除了UltraEdit用于查看文档,不安装多余的软件。
    1. 下载需要的资源,做好准备工作。
    1) MinGW-MSYS Bundle   http://sourceforge.net/projects/mingwbundle/ mingw-msys-0.6-x86.zip 2012-08-21
    2) SDL   http://www.libsdl.org/   1.2.15
    3) yasm   http://yasm.tortall.net/   1.2.0
    4) FFmpeg   http://www.ffmpeg.org/   1.2.1
    5) pthreadgc2.dll   http://www.dll-files.com 2.9.0.0 百度google一堆

    2. 安装MinGW-MSYS Bundle.
    下载来的mingw-msys-0.6-x86.zip,大约100MB多点。解压后直接双击。默认路径安装。
    会在C盘占用三个文件夹。C:/MinGW、 C:/msys和 C:Program FilesMinGW-MSYS ,桌面生成一个快捷方式MinGW-MSYS可以直接启动命令行。以下所有操作都是从这里进入命令行。
    这和我以前使用mingw-get-inst-20120426.exe在线安装的方法默认路径不一样,而且也不需要联网下载。

    3. 编译安装SDL
    没有SDL支持,就没法使用ffplay.exe播放。
    本次试验使用建立工作目录C:msys1.0ffmpegSDL-1.2.15,将SDL源码解压到SDL-1.2.15。
    进入SDL目录,编译命令很简单。

    $ ./configure --prefix=/usr/local/SDL
    $ make
    $ make install

    完成SDL的安装。
    通过下面命令导入SDL环境变量.

    $ export PATH="$PATH:/usr/local/SDL/bin:/usr/local/SDL/include/SDL:/usr/local/lib"
    是否成功,可以使用命令查看
    $ echo $PATH

    4. 编译安装yasm
    将下载的yasm-1.2.0.tar.gz,解压到C:msys1.0ffmpegyasm-1.2.0
    进入yasm目录,分别执行命令:

    $ ./configure --prefix=/usr/local/yasm
    $ make
    $ make install

    并通过下面命令导入yasm环境变量。

    $ export PATH="$PATH:/usr/local/yasm/bin"

    5. 编译ffmpeg
    将下载的ffmpeg-1.2.1.tar.bz2,解压到C:msys1.0ffmpegffmpeg-1.2.1
    进入ffmpeg-1.2.1目录,分别执行命令:

    $ ./configure --enable-shared --disable-static --enable-memalign-hack
    $ make
    $ make install

    本次忘记指定安装路径了,就生成在默认路径下/usr/local,编译选项没有disable一些选项,编译时间有点长。
    下面多出来四个文件夹bin lib include share,对应ffmpeg的编译结果。
    6. 使用ffmpeg.exe如果提示缺少pthreadgc2.dll,就把下载来的pthreadgc2.dll放到这个bin文件夹。

    下面来看看编译结果。

  • 相关阅读:
    UIImageView动画 UISlider控制速度
    python学习笔记——装饰器
    python学习笔记——继承
    python学习笔记——异步IO
    思路清楚的最大堆实现
    推荐几个IDEA必备的好用插件
    记工作中遇到的Date类相关的坑
    navicat数据库表数据复制到excel产生的列错位问题
    submit提交时进行页面验证
    SublimeText3常用快捷键和优秀插件(转载)
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3186170.html
Copyright © 2011-2022 走看看