然ffmpeg支持h264编解码--环境vs2005

来源:互联网 发布:麦田怪圈知乎 编辑:程序博客网 时间:2024/05/21 21:34

1.1 FFMPEG

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPLGPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

1.1.1 编译FFmpeg

网站上提供FFmpeg库都是vs2008vs2008版本以上才能使用的,而EDS使用的编译工具是vs2005,因此需要自行编译支持vs2005版本的FFmpeg库。

1.1.1.1 搭建mingw环境

  MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境、GCC编译器工具集以及其它的GNU程序开发工具(如makegawkgrep等等)。借用MinGW,可以在Windows操作系统上,使用强大的、丰富多彩的开源工具进行软件开发,例如vimgccpython等等。编译环境要求:Msys: 1.0.11MinGW:5.5.4 make: 3.81gcc: 4.7.2

1. Minimal SYStem (MSYS)安装
下载MSYS-1.0.11.exe并安装:安装到c:/msys/1.0,临近最后会出现个dos窗口,最后一句为:Do you wish to continue with the post install? [yn ],输入n,结束安装。“c:/msys/1.0/postinstall”目录下执行pi.bat,在出现的提示中输入n回车。

2. 升级下MSYS    
下载msysCORE-1.0.11-bin.tar.gz:解压这个文件,将bin/mount.exe, msys-1.0.dll, ps.exe三个文件copyc:/msys/1.0/bin下面覆盖下。

3.升级下MSYSBASH
下载bash-3.1-MSYS-1.0.11-snapshot.tar.bz2:解压这个文件,将bin/bash.exe, sh.exe两个文件copyc:/msys/1.0/bin

4. MinGW安装

下载mingw-5.5.4.exe并安装:将MinGW47.rar解压,然后将c:/msys/1.0/mingw路径下的文件夹拷贝到c:/msys/1.0/mingw
5.
配置fstab
copy C:/msys/etc/fstab.sample fstab,确保以下对应:

#Win32_Path             Mount_Point
c:/msys/1.0/mingw         /mingw

6.添加pr.exe

下载coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2:解压,拷贝binpr.exec:/msys/1.0/bin下。

以上 整体上的编译环境就搭建好了。

7.Cc99转成 cc89

解压c99-to-c89-1.0.zip,将可执行文件拷贝到c:/msys/1.0/bin路径下

注:FFMPEG使用的是C99。而VC支持的是C89(不支持C99)。因此VC一般情况下是无法编译FFMPEG的源代码的。

8.修改“msys.bat
  用文本编辑器打开c:/msys/1.0/msys.bat,由于打算用MSVC++编译程序,所以需要有.lib文件才能链接到FFmpeg的库,这些.lib文件可以使用微软的工具链中lib命令产生。为此,机器上必须已经安装了微软的Visual Studio或是Visual C++。把下面一行加到msys.bat的最前面,把路径替换成机器上vcvars32.bat实际存在的路径,比如我的在“D:\program files\Microsoft Visual Studio 8\VC\bin”,于是就添加:call "D:\program files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
原始环境就搭建好了。可以启动桌面上行的MSYS了。

1.1.1.2 编译FFmpeg

1. 下载 x264(支持x264,可选项)

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

2. 编译 x264(可选项)

  last_x264.tar.bz2 接压到:D:\ffmpeg\ 目录下,双击“c:/msys/1.0/msys.bat”,启动“MinGW32”,切换到x264目录:D:\ffmpeg\x264-20111124-2245

$ cd /d

    $ cd ffmpeg

    $ cd x264-20111124-2245

    再执行以下命令:

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

    $ make

    $ make install

    编译结果在:C:\MinGW\msys\1.0\local目录下

3.下载FFmpeg源码并编译

本文编译的源码版本为2.4.3 ,可以到其官网下下载源码。

编译时如果出现没有找到YASM 请将yasm.rar 的可执行文件拷贝到windows System32文件加下。

ffmpeg-2.4.3.zip 解压到:D:\ffmpeg\ 目录下,双击“c:/msys/1.0/msys.bat”,启动“MinGW32”,切换到ffmpeg目录:D:\ffmpeg\ ffmpeg-2.4.3,切换方法如下:

    $ cd /d

    $ cd ffmpeg

    $ cd ffmpeg-2.4.3

    如果你的“MinGW32”没有关闭,可以直接切换路径到:D:\ffmpeg\ ffmpeg-2.4.3

    再执行以下命令:

    $ ./configure --enable-shared --disable-static --enable-ffplay

    --enable-nonfree --enable-memalign-hack

    --enable-gpl--enable-libx264  

    --extra-cflags=-Id:/ffmpeg/f ffmpeg-2.4.3/include

    --extra-ldflags=-Ld:/ffmpeg/ ffmpeg-2.4.3/lib

    请耐心等待一段时间,以上命令不能直接换行哦并且根据ffmpeg的版本不同有所变化,具体看./configure --help,你知道的。。。

    $ make

    需要等待很长一段时间,等待编译结束。

    为了汇总编译结果,请继续执行以下命令:

    $ make install

    等待完成,在c:/msys/1.0/msys.bat中将会生成 binincludelib等文件夹,其中包含了ffmpeg.exeffplay.exeffprobe.exedlllib和头文件等。

0 0
原创粉丝点击