此项目为实验室正在做的视频项目,由于刚刚开始做,菜鸟一个,首先记录下配置过程吧。
环境:win7 64位 (XP的在最后做了相应补充);
1. 配置yasm
到http://yasm.tortall.net/Download.html下载Win64 VS2010 .zip,然后解压,里面有一个readme.txt,将vsyasm.exe改名为yasm.exe,如果是vs2010默认安装在C盘,则按照readme.txt中的配置即可。我的VS2010安装到了D盘,所以需要做些更改。首先,将vsyasm.exe更名为yasm.exe,然后放到D:\Software\VS2010\VC\bin,将另外的三个文件:vsyasm.props,vsyasm.targets和vsyasm.xml放到C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations下面,不用改名字。
2. 生成libx264项目,在该项目的工作目录bin目录下会生成一个libx264d.lib的文件,将其拷贝到Go的工作目录;
3. 在Go的工作目录下,将拷贝进来的libx264d.lib更名为libx264enc.lib;
4. 在VS2010中打开项目Go里面的Source Files,找到VIDEOCAP.CPP里面的Init函数,将try{}catch里面的
if(!capDriverConnect(m_capWnd, 0))
{
this->Clear();
return E_FAIL;
}
改为 while(!capDriverConnect(m_capWnd, 0)) { continue; }
若是XP系统,则不用做此项修改,win7下面在捕获摄像头时只是捕获一次,所以当捕获不到时,就不会显示画面。
5. 编译生成Go, 运行即可。在C:\go 目录下,会生成一个200.264的视频文件,这就是用x264编码后的文件。
附上winXP下的配置过程:
1. 配置yasm。yasm用别人给的yasm.rar里面的,只需要添加yasm.exe和yasm.rules。具体添加方法见 https://github.com/yasm/yasm/wiki/VisualStudio2005
2. 如果Go文件夹下已经有了libx264enc.lib,则不需要再重新编译生成了。
3. 编译生成Go。
另外,配置的时候需要包含要到的ffmpeg及librtmp库,在myx264.h中,添加
#if _MSC_VER < 1600
。。。。。。
#endif;如图所示:
有疑问加站长微信联系(非本文作者)