·您当前的位置:首页 > 技术教程 > crtmpserver >

[crtmpserver]crtmpserver在Linux下编译

时间:2016-01-17 10:01幻想少佳的博客
[crtmpserver]crtmpserver在Linux下编译
步骤:
1进入目录
#cd crtmpserver/builders/cmake
2生成make文件(cmake .(有个点))
#cmake .
3编译
#make
当达到100%编译成功(若失败请参考下文,重新编译时,若配置文件有改动请先清理./cleanup.sh
4运行
#./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua
只要相关端口不被占用应该成功,被占用也会有提示

静态编译(补充)

在CMakeList.txt开始位置加入下面一句

SET(ENV{COMPILE_STATIC} "1")

打包安装:
进入到目录crtmpserver/builders/cmake
运行命令:
 cmake -DCRTMPSERVER_INSTALL_PREFIX=<路径> (例如 /usr/local/crtmpserver)
 make
 make install
 
在 /usr/local/crtmpserver中可以看到整理好的文件
crtmpserver在sbin文件夹中
crtmpserver.lua在etc文件夹中
 
存在package.sh文件的话,运行可得到配置文件的压缩包,
没有没关系,就在工程crtmpserver的主目录下,有configs,media等目录,自己打包下,
实在不会就用官方编译好的(*.so跟crtmpserver替换成自己的就行)
 
按照官方编译好的进行整理
建议把libdl.so, libssl.so, libcrypto.so都放进去 ,避免在其它机子上不能运行。
 

部分问题解决方式
1 cmake
缺少cmake命令,请到官网进行下载
 cmake官网:http://www.cmake.org/
cmake下载页面:http://cmake.org/cmake/resources/software.html
直接下最新的就行
安装步骤:
#tar xvf cmake-2.x.x.tar.gz 
#cd cmake-2.x.x/
#./bootstrap
#make
#make install
安装完毕,cmake命令可以直接使用

2 openssl crypto
不存在openssl肯定要装
cmake .能通过,但make时碰到crypto.cpp错误,那就是openssl版本过低,需要安装新的
 openssl官网:http://www.openssl.org/
 openssl下载地址:http://www.openssl.org/source/
 建议下openssl-0.9.8x.tar.gz版,1.0.0可能有的编译不过
安装步骤:
#tar -xzf openssl-xxx.tar.gz
#./config --prefix=/usr/local/openssl shared zlib-dynamic enable-camellia
修改配置,使之生成.so文件,/usr/local/openssl是自定义安装位置,可自行修改,位置要记住,之后要修改文件
#./config -t 
#make depend
#make install
安装完毕,还需修改文件
位置:crtmpserver/builders/cmake/cmake_find_modules/
修改文件:Find_openssl.cmake
FIND_PATH(OPENSSL_INCLUDE_PATH 
 NAMES
  openssl/ssl.h 
  PATHS 
 /usr/local/openssl/include 
 ${TOOLCHAIN_HEADER_PATH}
....................................................
  FIND_LIBRARY(OPENSSL_LIBRARY_PATH  
NAMES 
 ssl 
 PATHS
 /usr/local/openssl/lib
 ${TOOLCHAIN_LIBRARY_PATH}
.....................................................
FIND_LIBRARY(CRYPTO_LIBRARY_PATH 
 NAMES 
 crypto 
 PATHS 
 /usr/local/openssl /lib
  ${TOOLCHAIN_LIBRARY_PATH}
................................................
添加红色文字部分,具体位置看你编译时安装的位置而定,cmake .后应该可以看到(要先./cleanup.sh)路径
..................................................................
-- OPENSSL_INCLUDE_PATH: /usr/local/openssl/include
-- OPENSSL_LIBRARY_PATH: /usr/local/openssl/lib/libssl.so
-- CRYPTO_LIBRARY_PATH: /usr/local/openssl/lib/libcrypto.so
.....................................................................
应该能够看到以上三行信息,确保路径是所安装的路径
 
3 iotimer.cpp sys/timerfd.h
缺少这两个文件所带来的错误,应该是Unix内核版本过低,不支持所致,也无需换Unix系统
位置:crtmpserver/sources/common/include/platform/linux
修改文件:linuxplatform.h
//#define HAS_EPOLL_TIMERS
将其注释掉即可(老内核不支持,不使用该方式即可)
重新编译要从头开始,要先./cleanup.sh

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器