crtmpserver的安装

下载

svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1.0 crtmpserver

安装:

1. 按照文档sudo apt-get install g++ subversion cmake make libssl-dev,还是出现

复制代码
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
OPENSSL_INCLUDE_PATH: OPENSSL_INCLUDE_PATH-NOTFOUND
OPENSSL_LIBRARY_PATH: OPENSSL_LIBRARY_PATH-NOTFOUND
CRYPTO_LIBRARY_PATH: CRYPTO_LIBRARY_PATH-NOTFOUND
Z_LIBRARY_PATH:
CMake Error at cmake_find_modules/Find_openssl.cmake:74 (MESSAGE):
  Looking for openssl headers - not found
Call Stack (most recent call first):
  CMakeLists.txt:46 (INCLUDE)


-- Configuring incomplete, errors occurred!
复制代码

缺少openssl,从网上下载openssl,make install之后cmake .成功

但是make出错:

复制代码
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp: In static member function 'static const char* TiXmlBase::GetEntity(const char*, char*, int*, TiXmlEncoding)':
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:9: error: 'ptrdiff_t' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:9: note: suggested alternatives:
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note:   'std::ptrdiff_t'
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note:   'std::ptrdiff_t'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:19: error: expected ';' before 'delta'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:419:13: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:443:13: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:462:20: error: 'delta' was not declared in this scope
make[2]: *** [tinyxml/CMakeFiles/tinyxml.dir/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp.o] Error 1
make[1]: *** [tinyxml/CMakeFiles/tinyxml.dir/all] Error 2
make: *** [all] Error 2
复制代码

将ptrdiff_t delta = 0;改成std::ptrdiff_t delta = 0;

不容易,终于ok了。

运行:

复制代码
./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua
。。。。
+-----------------------------------------------------------------------------+
|                                                                     Services|
+---+---------------+-----+-------------------------+-------------------------+
| c |      ip       | port|   protocol stack name   |     application name    |
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 1112|           inboundJsonCli|                    admin|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 1935|              inboundRtmp|              appselector|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 8081|             inboundRtmps|              appselector|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 8080|             inboundRtmpt|              appselector|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 6666|           inboundLiveFlv|              flvplayback|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 9999|             inboundTcpTs|              flvplayback|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 6665|           inboundLiveFlv|             proxypublish|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 8989|         httpEchoProtocol|            samplefactory|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 8988|             echoProtocol|            samplefactory|
+---+---------------+-----+-------------------------+-------------------------+
|tcp|        0.0.0.0| 1111|    inboundHttpXmlVariant|                  vptests|
+---+---------------+-----+-------------------------+-------------------------+
/home/user/crtmpserver/sources/crtmpserver/src/crtmpserver.cpp:258 GO! GO! GO! (20498)

 

复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
编译记录 : ~、 common 工程 缺少 utils/misc/format.cpp utils/logging/formatter.cpp ~、thelib 工程 增加宏定义 “HAS_MEDIA_TS” \crtmpsvr_tr\sources\thelib\src\mediaformats\readers 全部重新组织添加 \crtmpsvr_tr\sources\thelib\src\protocols\ts 去掉 " " 以及相应的头文件。 去掉 protocols 下的 " " 新建筛选器目录“protocols/passthrough”,添加此目录下的两个文件 (可选) \thelib\src\protocols\ts\basetsappprotocolhandler.cpp BaseTSAppProtocolHandler::BaseTSAppProtocolHandler(Variant &configuration) //红标处漏写 -chenlx : BaseAppProtocolHandler(configuration) { \sources\thelib\src\netio\select\tcpcarrier.cpp TCPCarrier::TCPCarrier(int32_t fd) : IOHandler(fd, fd, IOHT_TCP_CARRIER) { //EventLogger::GetDefaultLogger()->LogCarrierCreated(stats); //-chenlx 去掉 netio\select\inboundnamedpipecarrier.cpp .h 添加 \fdstats.cpp JsonVariantProtocol.cpp 新建筛选器目录并添加源文件: thelib\src\recording ~、卸载项目 applestreamingclient,取消crtmpserver对applestreamingclient库的依赖,原因 是trunk中根本就没用到这个项目,对比branches和trunk中的cmake文件,applestreamingclient工程明显被注释。 注意,要先取消crtmpserver对applestreamingclient库的依赖再卸载:在项目crtmpserver上右击属性,在框架和引用上将对applestreamingclient链接库依赖选择false ~、vm \sources\vm\src\basevmlua.cpp 编不过去,提示“luaL_Reg”类型非法 在 \sources\common\include\utils\lua\luautils.h 里引入下列头文件,并重新编译 common.lib extern "C" { #include <lualib.h> #include <lauxlib.h> } ~、 appselector 、 flvplayback :\lab\ztttprj\coder\_svr_voip\streaming_\crtmpsvr_tr\sources\applications\flvplayback\include\tsappprotocolhandler.h(30): error C2504: “BaseTSAppProtocolHandler”: 未定义基类 增加宏定义 “HAS_MEDIA_TS”
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值