^_^

2011年6月26日星期日

Google WebRTC for Windows 32bit 编译

谷歌在本月初开放了实时通信框架 WebRTC 的源代码,这对通讯界的意义非常大,不仅是简化了 Web 实时通讯的开发,更重要的是让我们了解了 GIPS 音视频专利技术的处理细节。

WebRTC 是个很大的项目,其中还包括 libjingle(传输)、chrome(上层 web)。由于它是 Google 近期力推的,我相信应该很快会成熟起来,并成为一定范围内(相信有些 Web Browser 会拒绝它的,因为利益)的标准,相当有前景。

WebRTC 提供的官方文档不是很多,也不够详尽。但是我们还是希望跟寻《Getting Started》来尝试编译它,这里的环境是 Windows 7 U 32bit。

首先我们要下载、安装一些工具:
  1. GIT 工具,用于获得 WebM 等。
  2. Google Depot Tools,这是 Google 在 Chromium 中就开始使用的分发工具。直接下载 depot_tools.zip 并解压即可。注意加入系统环境变量 PATH(gclient 所在路径)。
  3. Windows 下我们还要下载、安装 Visual Studio 2005(用 VS2010 也是 OK 的)、Microsoft SDK 7.1(GRMSDK_EN_DVD.iso) (注意要确认安装 Sample)和 Microsoft DirectX SDK(DXSDK_Jun10.exe)
之后我们就能去取 WebRTC 的代码了。运行在提示符下运行下面命令即可从服务器下载源码。
gclient config https://webrtc.googlecode.com/svn/trunk
gclient sync --force
其中“sync”命令还能创建开发环境(Linux:make, OSX: XCode, Windows: Visual Studio),如我们这里最关心的是 MS Visual Studio 的解决方案(trunk/webrtc.sln)。我们也可以手工通过下面的命令手工生成开发环境:
gclient runhooks --force
如果需要指定 MS Visual Studio 的版本,请在“gclient”前先如下调用:
set GYP_MSVS_VERSION=2005
set GYP_MSVS_VERSION=2008
源码拿到了,MS Visual Studio 的解决方案也有了,直接用 Visual Studio 打开即可,编译的时候可能会有些小问题,应该都是目录相关的,按照自己的环境重新设定一下即可。如我这里按照下面所指改动有问题的工程即可,工具 - 选项 - 项目和解决方案 - VC++ 目录:
可执行文件:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
包含文件:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
C:\Program Files\Microsoft DirectX SDK (August 2009)\Include
库文件:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86
...
生成文件位于“\trunk\Debug”下,如“peerconnection_server.exe 和 peerconnection_client.exe”,运行效果如下截图:
本站文章除注明外,均为本站原创
转载请注明文章转载自: 大笨熊乐园 [ https://blog.foolbear.com/ ]
文章标题: Google WebRTC for Windows 32bit 编译
文章地址: https://blog.foolbear.com/2011/06/google-webrtc-for-windows-32bit.html

6 条评论 :

匿名 说...

大侠,请教下,gclient config http://webrtc.googlecode.com/svn/trunkInstalling subversion ...[-] XMLHTTP 80072ee2: Cannot make HTTP request (操作超时... Failed to checkout svn automatically.Please visit http://subversion.tigris.org to download the latest subversion clientbefore continuing.You can also get the "prebacked" version used at http://src.chromium.org/svn/trunk/tools/third_party/这是什么错误?怎样解决?

大笨熊 说...

这是指 svn 更新失败,主要原因是 webrtc 的 svn url 偶尔被 GFWed,多多尝试。或者就到提示中的 url 自己下载。

匿名 说...

嗯,gclient sync --force时

Syncing projects:95%(21/22),done.tools/gyp时。后面就冒出很多警告

如:waring:Missing input file trunk\third_party\libvpx\asm\iwalsh_mmx.obj pwd=D:\TDDOWNLOAD\webrtc\WORK\OTHER
博主,你碰到这个警告么

大笨熊 说...

我没有遇到这个警告。但是 webrtc 项目目前和活跃,源码更新很快,你如果遇到问题,可以在等等新版。

匿名 说...

你好,我想了下,当初svn co http://src.chromium.org/svn/trunk/tools/depot_tools 后,就冒出svn.exe无法定位程序输入点svn_rangelist_set_inheritance于动态链接库libsvn_sub,和无法定位序数4114于动态链接库libeay32.dll上,当时没主意,之后没冒出异常,但
gclient sync --force时,后面就冒出很多警告如:waring:Missing input file trunk\third_party\libvpx\asm\iwalsh_mmx.obj pwd=D:\TDDOWNLOAD\webrtc\WORK\OTHER,我看了下,trunk\third_party\libvpx\下,没有asm文件夹,你能考给我一份asm文件吗?可能就是这个原因,673778328@qq.com,谢谢!

大笨熊 说...

你的现象,应该是 Google Depot Tools 没有安装好。因为是在线安装的,可能下载出问题了,不妨再试试。

发表评论

Related Posts with Thumbnails