ffmpeg 中带有264的解码,没有编码,需要添加x264;
参考百度上的“w
文档
下载ffmpeg 代码合x264代码,
ffmpeg 代码:http://ffmpeg.org/
x264代码:http://www.videolan.org/developers/x264.html
相关资源获取的地方:
http://ffmpeg.zeranoe.com/builds/
1 按照minGW 环境
2 修改msys.bat,添加call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
3 进入到x264目录
./configure --enable-static --disable-opencl --disable-lavf --enable-debug --disable-asm --prefix=./linux_build_noyasm
make
make install
将x264目录中的linux_build_noyasm文件下的include中的.h文件与lib中的.a文件放到minGW的include与lib目录中
4 进入ffmpeg目录编译
CC=cl ./configure --enable-libx264 --disable-libspeex --enable-nonfree --enable-gpl --disable-shared --prefix=./vs2015_build_noyasm --enable-debug
得到相关内容
5 验证是否加入正确
ffmpeg.exe -i s.avi -vcodec libx264 -acodec libfaac s.mp4
PS:顺便记录一下单独编译可以使用vs进行debug的x264过程
一准备环境:
1 下载 mingw 和 MSYS
去http://www.mingw.org/或去 http://sourceforge.Net/projects/mingw/ 下载
下载类似:mingw-get-inst-20110802.exe 的文件。
提示:msys此处就不用下载了,mingw-get-inst-20110802.exe 中已经包含了msys1.0,后面安装的时候就可以看到该选项。
2 下载 yasm
x264编译里面的汇编代码需要yasm.exe
去官网:http://yasm.tortall.net/Download.html 下载:Win32 .exe (for general use on 32-bit Windows)
文件名为:yasm-1.1.0-win32.exe
3 下载 x264
http://videolan.mirror.aussiehq.net.au/x264/snapshots/ 解压
二编译步骤
1 安装 mingw 和 msys
选择安装路径:D:\MinGW
在“Select Components”步骤中选择:
√ C Compiler (默认且一定选择)
√ C++ Compiler
√ MSYS Basic System(选择此项将会安装msys,msys则不需要另外安装)
√ MinGW Developer ToolKit
等待安装完成。
安装完成后,在D:\MinGW目录下可以看到 msys 文件夹,msys也已经安装。
2 配置让x264编译时产生windows下调用dll对应的lib(本人无这个需要,此步没做)
为了方便VS200X以及VS2010调用x264的动态库,可以通过配置让x264编译时产生windows下调用dll对应的lib,当然,如果你没有这个需要,那么就可以省略以下处理,直接进入步骤3。
进入:C:\MinGW\msys\1.0\文件夹,使用UltraEdit打开msys.bat文件,在文件的最最前面(echo off之后)加入如下一行:
call "D:\Program Files\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
其中“D:\Program Files\Microsoft Visual Studio 14.0”为你机器上安装VS目录,我的电脑安装的是VS2015
添加完成了以后,就可以运行下msys.bat这个文件了,然后键入 gcc -v,如果出现的不是什么 no command 和 no input file什么的,而是出现了一些版本的信息,证明安装对了。
3 配置 yasm
为了减少配置环境变量的麻烦,本处直接把 yasm-1.1.0-win32.exe 文件名修改成:yasm.exe,并放到msys的bin文件夹内
8 编译x264
使用everything找到VS中的VsDevCmd 运行一下(也许不用)
双击“C:\MinGW\msys\1.0\msys.bat”,启动
cd切换到当前x264所在目录
再执行以下命令:
CC=cl ./configure --enable-static --disable-opencl --disable-lavf --enable-debug --disable-asm --prefix=./vs2015_build_noyasm
注意使用 CC=cl 否则编译出的lib在vs中不能进入函数内部
请耐心等待一段时间
$ make
$ make install
然后在其他位置新建一个vs工程,将原本x264源码目录下的example.c加入
增加include目录与lib目录:C++->常规->附加包含目录增加 [x盘://x264目录下的]/vs2015_build_noyasm/include 链接器附加lib 目录类似
在lib中增加:
libx264.lib