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

crtmpserver流媒体服务器的介绍与搭建 (2012-02-29 11:28)

标签:  crtmpserver  C++ RTMP Server  rtmp  Adobe FMS(Flash Med  流媒体服务器  分类: crtmpserver

前言

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/)。

  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"的第一层大括号的代码是要添加的)

  1. default=true,
  2. acceptors =
  3. {
  4. {
  5. ip="0.0.0.0",
  6. port=80,
  7. protocol="inboundRtmp"
  8. },
  9. {
  10. ip="0.0.0.0",
  11. port=1935,
  12. protocol="inboundRtmp"
  13. },
  14. ...
  15. }
  16. }

重启服务就可以看到端口生效,就可以从“80“接收rtmp流啦。

crtmpserver流媒体服务器的介绍与搭建,布布扣,bubuko.com

时间: 2024-08-02 00:04:03

crtmpserver流媒体服务器的介绍与搭建的相关文章

[FMS]FMS流媒体服务器onStatus介绍说明

在FlashCom中的Camera, Microphone, LocalConnection, NetConnection,NetStream和 SharedObject对象都提供了事件响应,onstatus事件的返回信息记录在信息对象中.为了能够响应这些事件,你必须创建一个方法来处理信息 对象,而最重要的一点是你必须要清楚不同的信息对象返回值和返回类型.信息对象具有下面的属性.code 记录信息的返回内容level 信息等级状态,有status 状态 warning 警告 error 错误下面

Darwin流媒体服务器在windows下搭建

简介 主页:   http://dss.macosforge.org/ Darwin Streaming Server (DSS) is an open sourceproject intended for developers who need to stream QuickTime and MPEG-4 mediaon alternative platforms such as Mac, Windows, Linux, and Solaris, or thosedevelopers who

nginx与nginx-rtmp-module搭建流媒体服务器

转载自my student 克明zhang 现在,一起学习一下如何自己搭建一个流媒体服务器吧! 本次搭建流媒体使用的环境是centos 7.0+nginx: 让我们一起开始奇妙的流媒体之旅吧! 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: [php] view plain copy git clone https://github.com/ar

监控流媒体服务器的搭建和使用

需求 国内主流监控方案厂商都有自己的流媒体服务器平台,为什么要还需要通用的流媒体服务器产品呢?这个问题可以从几个方面回答:1)经济性: 传统监控厂商的流媒体服务器,由于主要面向城市建设和大型安防项目,往往造价和报价相对较高,对于规模较小的监控项目预算过高.2)兼容性:由于各种原因,各个监控厂商对非本厂的摄像头在兼容性上存在一些问题,如果一个项目中使用多个厂家的摄像头,会是一个大问题,因此需要有通用平台来处理.3)多种端播放问题:传统的监控流媒体服务器产品,在解决多种端播放的问题上比较欠缺,尤其较

nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html 上面这两个流的地址分别是: 第一个就是推送的地址: RTMP推流地址: rtmp://serverIp:1935/myapp/test1 第二个是HTTP地址: HLS推流地址: http://serverIp:

nginx搭建rtmp协议流媒体服务器总结

最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx目录. 然后进入该目录去下载搭建环境所需要的一些资源包. 此处在 /root/  目录下新建一个nginx目录即: /root/softsource/ 注意:依赖包和工具包需要下载,请在良好的网络环境下安装,否则在网速不好的情况下容易下漏掉,造成后面安装失败 ====================

centos6.5搭建流媒体服务器

下面开始介绍CentOS 6.5 64位上安装Darwin Streaming Server搭建RTSP流媒体服务器的方法:一.首先说明下我的系统环境:CentOS 6.5 64位最小化安装(用的CentOS-6.5-x86_64-minimal.iso),关闭iptables和SELINUX:# chkconfig iptables off# vi /etc/sysconfig/selinux(把enforcing修改为disabled,然后重启系统) 二.安装后至少需要安装以下5个组件,确保

obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: [php] view plain copy git clone https://github.com/arut/nginx-rtmp-module.git 将nginx-rtmp-module下载到linux中.

基于 Red5 的流媒体服务器的搭建和应用

http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red5 基于 Java 和一些功能强大的开源框架,为企业级应用奠定了标准.它使用 RTMP,RTMPT,RTMPS 和 RTMPE 流媒体协议, 支持:将音频(MP3)和视频(FLV,MP4,F4V,3GP)转换成播放流:录制客户端播放流:共享对象:现场直播流发布:远程调用.Red5 为即时通信,远程教