[crtmpserver]crtmpserver在Linux下编译
[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
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命令,请到官网进行下载
直接下最新的就行
安装步骤:
#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/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
热门文章推荐
- [crtmpserver]crtmpserver开启RTSP功能
- [crtmpserver]crtmpserver在Windows(VS2010)下编译
- [crtmpserver]最新款crtmpserver源码安装介绍
- [Crtmpserver流媒体]crtmpserver的安装及使用
- [crtmpserver流媒体]crtmpserver流媒体搭架构分析与组网示意
- [crtmpserver]crtmpserver配置文件分析
- [crtmpserver流媒体]crtmpserver技术配置文件
- [crtmpserver]crtmpserver流媒体项目介绍
请稍候...