EasyDarwin

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

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

详细 >>

crtmpserver流媒体服务器的介绍与搭建


Adobe的FMS(Flash Media Server)是很好用。但对应着分级授权的是money和有限功能开放。商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区了。而crtmpserver就是FMS的替代者之一。...

前言

Adobe的FMS(Flash Media Server)是很好用。但对应着分级授权的是money和有限功能开放。商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区了。而crtmpserver就是FMS的替代者之一。

1. crtmpserver简介

crtmpserver的功能总来说:

  • 支持推送给它的rtmp流的接收与播放器请求的分发;
  • rtmrtmp流媒体服务器树状网络集群的构建;
  • rtm支持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/)。

1.#tar -zxvf cmake-2.8.7.tar.gz

2.#cd cmake-2.8.7

3.#./bootstrap

4.#gmake

5.#make install

 

2.2 openssl的安装

下载openssl-0.9.8版(crtmpserver暂只支持这个版本,我用的是openssl-0.9.8t。http://www.openssl.org/)

1.#tar -zxvf openssl-0.9.8t.tar.gz

2.#cd openssl-0.9.8t

3.#./Configure

4.#make .

5.#make install

 

2.3 crtmpserver的编译与安装

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

2.#cd crtmpserver

3.#sh ./cleanup.sh

4.#cd builders/cmake

5.#cmake .

6.#make

7.#./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流啦。

 



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