EasyDarwin

面向企业级的流媒体平台框架

EasyDarwin开始于2013年,遵循 Apple开源License APSL,为了敏捷流媒体服务器开发和简化企业流媒体应用开发而诞生的。

详细 >>

crtmpserver 在VS2010下的build<转>


crtmpserver在VS2010下的build...

在做下列步骤之前,请确保您有管理权限。

1. 下载并安装(Microsoft Visual C++ 2008 Redistributable Package)

链接:http://www.microsoft.com/en-us/download/details.aspx?id=29

下载并安装

Download and install “Visual C++ 2008 Redistributables”

2. 下载并安装OpenSSL

链接:http://slproweb.com/products/Win32OpenSSL.html

下载并安装:Win32 OpenSSL v1.0.1e

If you install OpenSSL to another place than “C:\OpenSSL-Win32”,

change OpenSSL include and lib path (in project's properties)

Compile the solution using Microsoft Visual C++.

 

3. 下载并编译crtmpserver

可以使用TortoiseSVN下载,配置如下:

URL of repository: https://svn.rtmpd.com/crtmpserver/branches/1.0

Checkout directory:

Checkout Depth: Fully recursive

Revision: Head revision

Username: anonymous

Password:

下载完成后build

When source code has been checked out successfully,

go to /builders/VS2010 folder.

Inside that folder, double click the VS2010.sln file.

 

4. 编译出错的解决:

A. error C2593: 'operator =' is ambiguous

错误提示

crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.cpp(111): error C2593: 'operator =' is ambiguous

...

crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.cpp(114): error C2593: 'operator =' is ambiguous

原因:

VS2010在C++的隐式类型转换方面的bug

解决:

crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.cpp由

info["audio"]["droppedPacketsCount"] = 0;

info["video"]["bytesCount"] = _videoBytesCount;

info["video"]["packetsCount"] = _videoPacketsCount;

info["video"]["droppedPacketsCount"] = 0;

改成

info["audio"]["droppedPacketsCount"] = (uint64_t)0;

info["video"]["bytesCount"] = _videoBytesCount;

info["video"]["packetsCount"] = _videoPacketsCount;

info["video"]["droppedPacketsCount"] = (uint64_t)0;

 

B.error LNK2019: unresolved external symbol "public: __thiscall

错误提示:

defaultprotocolfactory.obj : error LNK2019: unresolved external symbol "public: __thiscall

NATTraversalProtocol::NATTraversalProtocol(void)"

原因:

thelib工程漏了这个文件:

sources\thelib\src \protocols\rtp\nattraversalprotocol.cpp

解决:

将这个文件添加到工程的

thelib->protocols->Source Files->rtp下;

重新编译工程,链接通过,OK搞定

 

C. 启动程序时提示

"The procedure entry point WSASendMsg could not be located in the

dynamic link library WS2_32.dll"

原因:

是系统的原因

解决:

WSASendMsg requires Vista or Server 2008, assuming Windows 7 is also

okay since it works on my tests.

具体可看链接:

https://groups.google.com/forum/?fromgroups#!searchin/c-rtmp-server/WSASendMsg|sort:relevance/c-rtmp-server/BeC4zB_wems/m6utIOP6fJAJ

附加:

 

5. VS2010 Debug调试问题

1.crtmpserver Debug运行时调用的applications路径为.\builders\VS2010\crtmpserver\applications,而工程中application编译输出路径在.\builders\VS2010\Debug目录,所以咱们可以将applications输出到.\builders\VS2010\crtmpserver\目录下,或者其他方式.

2.在.\builders\VS2010\crtmpserver\目录下建一个logs文件夹.



------------------------------ 分割线 ------------------------------
本站文章除注明转载外,均为本站原创或编辑,欢迎大家转载,但请务必注明出处,尊重他人成果,谢谢。
转载请注明:EasyDarwin;非本站文章均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。
文章中如果有错误可联系:johnson@easydarwin.org
推荐文章
H.265技术经过2年发展,我们认为H.265高清监......>
近年来,4K超高清、H.265编码技术、视频智能......>
随着科技的发展速度,医疗行业的信息化建设......>
商场里的监控视频除了防盗,还可以做什么呢......>
家用网络摄像机则通过自身的功能帮助消费者......>
最近更新
监控行业正在发生改变,摄像头的数量在增加......>
视频编码技术是对前端摄像机采集过来的数字......>
随着网络的不断发展和应用需求的多样化,对......>
太阳能监控既从早期的贵族金字塔走向了实用......>
随着监控技术的不断发展,已经有越来越多的......>
友情链接 | 申请链接
EasyDarwin官方微信!