前言
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流媒体服务器,包括安装必要的依赖库如cmake和openssl,以及编译和运行crtmpserver的过程。 #### 二、准备工作 在开始安装前,请确保您的CentOS系统已经更新到了...
压缩包中的"crtmpserver"可能是一个基于RTMP协议的开源流媒体服务器项目,它可能包含了搭建和管理流媒体服务所需的所有文件。通过配置和运行这个服务器,开发者可以轻松地部署RTMP直播服务。同时,由于标签中提到了...
【crtmpserver RTMP 服务器】是一种轻量级的实时多媒体传输协议(RTMP)服务器,主要用于视频流媒体的推送和播放。该服务器由Adobe Systems开发,旨在为互联网上的实时音频、视频和数据提供高效传输。crtmpserver...
FFMPEG和FFSERVER搭建流媒体服务器实例(windows下测试可以),可以根据自己的需求修改里面的ffserver.conf文件。详情可以参考http://write.blog.csdn.net/postedit/53838533
虽然crtmpserver主要处理RTMP,但为了支持更多设备和浏览器,你可能需要集成HLS或DASH的后端处理,比如使用Nginx-RTMP模块或者Wowza流媒体服务器。 总结来说,crtmpserver的搭建涉及RTMP协议、Linux服务器管理、...
通过crtmpserver,开发者可以搭建自己的直播平台,将来自摄像头或其他来源的实时流媒体内容推送到服务器,并分发给观众。crtmpserver的特性包括低延迟、高稳定性和可扩展性,使其成为许多小型到大型直播服务的理想...
RTMP(Real Time Messaging Protocol)是一种协议,常用于流媒体服务器,它允许视频和音频数据实时传输到客户端,如Adobe Flash Player,使得在线直播成为可能。因此,这个压缩包对于想要搭建自己的直播平台或者需要...
CRTMPServer是一款开源的、基于Adobe的RTMP协议实现的流媒体服务器软件,它由Charles Zho 开发并维护。这个软件允许用户实时传输音频、视频和其他数据,广泛应用于在线直播、视频点播和多媒体发布等领域。在了解`...
crtmpserver是一个基于Adobe的RTMP协议实现的开源流媒体服务器,它允许用户进行实时音频、视频的传输。而jwplayer是一款流行的HTML5和Flash视频播放器,能够支持多种流媒体格式,包括RTMP。本文将详细介绍...
`remp`是基于`crtmpserver`构建的一个开源流媒体解决方案,它提供了一套完整的框架,简化了服务器的部署和管理。`remp`不仅包括了`crtmpserver`的基本功能,还提供了额外的特性,如统计分析、日志记录、权限控制等。...
填写完毕后,点击开始串流,就说明我们的流媒体服务器搭建成功了。 5、观看直播(拉流) 观看直播就比较简单了,可以简单的使用h5的vedio标签就可以观看了。 可以访问http://xxx:81/hls/mystream.m3u8来观看直播,...
搭建一对一直播平台的基本步骤包括安装CrtmpServer服务、ffmpeg推流工具,以及选择合适的播放器如ffplayer或CGPlayer。在音视频处理流程中,一对一直播简化了多人直播的复杂特效,降低了对用户设备的要求,减少了...