前言
Adobe的FMS(Flash Media Server)是很好用。但对应着分级授权的是money和有限功能开放。商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区了。而crtmpserver就是FMS的替代者之一
1. crtmpserver简介
crtmpserver的功能总来说:
- 支持推送给它的rtmp流的接收与播放器请求的分发;
- rtmp流媒体服务器树状网络集群的构建;
- 支持iPhone,Android。
下面是官网首页的功能与应用介绍(http://www.rtmpd.com/)
crtmpserver it is a high performance streaming server able to stream (live or recorded) in the following technologies:
- To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE)
- To and from embedded devices: iPhone, Android
- From surveillance cameras
- IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols
Also, crtmpserver can be used as a high performance rendes-vous server. For example, it enables you to do:
- Audio/Video conferencing
- Online gaming
- Online collaboration
- Simple/complex chat applications
2. crtmpserver流媒体服务器的搭建(linux平台)
它的编译与build环境要求先安装一些linux工具
2.1 cmake的安装
下载最新的cmake(http://www.cmake.org/)。
- #tar -zxvf cmake-2.8.7.tar.gz
- #cd cmake-2.8.7
- #./bootstrap
- #gmake
- #make install
2.2 openssl的安装
下载openssl-0.9.8版(crtmpserver暂只支持这个版本,我用的是openssl-0.9.8t。http://www.openssl.org/)
- #tar -zxvf openssl-0.9.8t.tar.gz
- #cd openssl-0.9.8t
- #./Configure
- #make .
- #make install
2.3 crtmpserver的编译与安装
- #svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1.0 crtmpserver
- #cd crtmpserver
- #sh ./cleanup.sh
- #cd builders/cmake
- #cmake .
- #make
- #./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua
NOTE:
A. 如果make成功,最后一行命令是以“./crtmpserver/crtmpserver.lua”为配置脚本启动“crtmpserver"服务。
B. 最后一行命令的目录是在"builders/cmake"下。
2.4 测试流的接收与分发
最后一行命令执行后,可以看到默认脚本配置下启动的服务和对应的端口。如“RTMP”协议对应的是“1935”端口。
如下所示:
--- --------------- ----- ------------------------- -------------------------
|tcp| 0.0.0.0 |1935| inboundRtmp | appselector|
--- --------------- ----- ------------------------- -------------------------
推送:
可以使用Adobe 的FMLE(Flash Media Live Encoder)给这个服务器推送rtmp流。成功后会有相应的log信息提示。
也可以使用ffmpeg给这个服务器推送rtmp流。成功后会有相应的log信息提示。但是请注意,ffmpeg推送rtmp流给它一定要使用"librtmp"才能成功。使用ffmpeg自带的rtmp推送会导致失败。原因应该是ffmpeg自带的rtmp程序不完整,解析不了第二次握手时服务发送来的包信息。
观看:
推送成功后,用户端就可以用flash播放器或能播放rtmp流的播放器(如http://flv-player.us/index_mdv.php)看你推送的节目啦。
也可以使用像rtmpdump的软件将rtmp流录成文件。
3. 简单的配置修改
有时服务器会对某些端口做限制,这时就需要自己指定端口,如"80"端口。这个需求可以通过修改它的配置脚本“crtmpserver/crtmpserver.lua”来实现。
如要添加“80”端口的"rtmp"服务,可以给“crtmpserver/crtmpserver.lua”添加如下代码。(包含“port=80"的第一层大括号的代码是要添加的)
- default=true,
- acceptors =
- {
- {
- ip="0.0.0.0",
- port=80,
- protocol="inboundRtmp"
- },
- {
- ip="0.0.0.0",
- port=1935,
- protocol="inboundRtmp"
- },
- ...
- }
- }
重启服务就可以看到端口生效,就可以从“80“接收rtmp流啦。
http://blog.csdn.net/wutong_login/article/details/7612477
相关推荐
本文介绍了Centos 搭建crtmpserver流媒体服务器的详细步骤和遇到的坑,希望给初学者一定的经验,避免遇到类似的问题。
FFMPEG和FFSERVER搭建流媒体服务器实例(windows下测试可以),可以根据自己的需求修改里面的ffserver.conf文件。详情可以参考http://write.blog.csdn.net/postedit/53838533
crtmpserver搭建直播点播平台服务
轻量级的RTMP服务器,VS2017编译,点击直接运行,快速搭建RTMP推流测试服务器。
RTMP流媒体服务器crtmpserver说明文档
开源RTMP服务器crtmpserver最新源码打包
crtmpserver-master视频服务器
sudo /usr/local/crtmpserver/sbin/crtmpserver --uid=<UID> /usr/local/crtmpserver/etc/crtmpserver.lua Also look into builders/packing directory. There are several OS specific builders. * in directory ...
crtmpserver.rar
从crtmpserver的官方网站,下载的源码,编译安卓平台时,会有很多错误。 本上传的代码,修正了相关的错误,并编译成功。 注:简单的编译步骤,请参考代码中的crtmpserver_android.txt. 另外,具体的使用方法和实例...
可编译运行的crtmpserver 1、使用VS2010进行编译。 2、openssl在3rdparty目录下 3、配置文件,放在builders\VS2010\Debug\crtmpserver1.lua 4、builders\VS2010\Debug\目录下,有\log和\media目录,\media目录下,放...
一个可用的crtmpserver,没有源码,只有exe,具体看博客 https://blog.csdn.net/chase_hung/article/details/93378767
这是内嵌到网页中的最新版的JWPlayer播放器的代码和配置实例,在crtmpserver的直播demo中需要用到,希望对大家有所帮助。
VS2013编译的crtmpserver,Win32位版本,所有的错误已修改,直接运行,人品保证。附带了编译好的openssl依赖文件
crtmpserver 1.0 svn.789
crtmpserver,vs编译修改
crtmpserver-717.tar.gz, 原始压缩包, 编译有错误,需要自己修正
使用crtmpserver搭建vod点播测试环境时,需要在浏览器中播放rtmp视频,需要开源的jwplayer插件,这里提供了一个早期的版本。可以供大家测试使用。