`
Poechant
  • 浏览: 227581 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:24243
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:22051
社区版块
存档分类
最新评论

OpenRTMFP/Cumulus Primer(1)入门介绍与部署CumulusServer

 
阅读更多

OpenRTMFP/Cumulus Primer(1)入门介绍与部署CumulusServer

  • 作者:柳大·Poechant
  • 博客:Blog.csdn.net/poechant
  • 邮箱:zhongchao.ustc@gmail.com
  • 日期:April 10th, 2012

1 背景介绍

OpenRTMFP 可以帮助你实现 Flash 的实时应用的高并发扩展,OpenRTMFP/Cumulus 是基于 GNU General Public License 的。

  • OpenRTMFP: Real Time Media Flow Protocol
  • POCO: POrtable COmponents,是一个强大的开源 C++ 库。其在 C++ 开发中的角色,相当于 Java Class Library、苹果的 Cocoa、.NET framework。

2 准备工作

下载:

External Dependencies Official Site Windows Linux/OSX
OpenSSL Official Site Download Download
Lua Official Site Download Download
POCO Official Site Download Download

注意:

  • POCO for linux: 版本必须是 1.4.0 或更高,否则会引起 TCP 相关的 bug。

3 安装

3.1 外部依赖的安装

Windows 下略,Linux 下基本就是:

./configure
make
sudo make install

3.2 安装 OpenRTMFP/Cumulus

OpenRTMFP-Cumulus/CumulusLib
make
cd ../CumulusServer
make

如果出现了.h文件、lib 库找不到的情况,请修改 OpenRTMFP-Cumulus/CumulusLib/Makefile 或 OpenRTMFP-Cumulus/CumulusServer/Makefile。

4 配置

通过编写OpenRTMFP-Cumulus/CumulusServer/CumulusServer.ini文件来为 OpenRTMFP-Cumulus 进行个性化配置(默认是没有这个文件的),这个文件的内容形如:

;CumulusServer.ini
port = 1985 
udpBufferSize = 114688
keepAlivePeer = 10
keepAliveServer = 15
[logs]
name=log
directory=C:/CumulusServer/logs

一些字段的设置含义如下,摘自:地址

  • 公开给 Client 的端口号:port, equals 1935 by default (RTMFP server default port), it’s the port used by CumulusServer to listen incoming RTMFP requests.
  • UDP 缓冲区字节数:udpBufferSize, allows to change the size in bytes of UDP reception and sending buffer. Increases this value if your operating system has a default value too lower for important loads.
  • keepAliveServer, time in seconds for periodically sending packets keep-alive with server, 15s by default (valid value is from 5s to 255s).
  • keepAlivePeer, time in seconds for periodically sending packets keep-alive between peers, 10s by default (valid value is from 5s to 255s).
  • edges.activated, activate or not the edges server on the RTMFP server (see CumulusEdge, Scalability page for more details about CumulusEdge). By default, CumulusServer stays a RTMFP server without edges ability (default value is false).
  • edges.port, port for the edges server, to accept incoming new CumulusEdge instances (see CumulusEdge, Scalability page for more details about CumulusEdge). By default, it’s the port 1936.

    Warning: This port will receive plain text request from edges, for this purpose it should not be made public. It’s very important for security consideration. It must be available only for CumulusEdge instances, and anything else.

  • edges.attemptsBeforeFallback, number of CumulusEdge attempt connections before falling back to CumulusServer (see CumulusEdge, Scalability page for more details about CumulusEdge). By default the value is 2 (in practical, 2 attempts happens after 5 sec approximately).
  • smtp.host, configure a SMTP host to use mails feature provided by Cumulus in server application (see Server Application, Sockets page for more details about mails feature). By default the value is localhost.
  • smtp.port, configure a SMTP port to use mails feature provided by Cumulus in server application (see Server Application, Sockets page for more details about mails feature). By default the value is 25.
  • smtp.timeout, configure a SMTP timeout session in seconds to use mails feature provided by Cumulus in server application (see Server Application, Sockets page for more details about mails feature). By default the value is 60 seconds.
  • 日志路径:logs.directory, directory where are written log files (CumulusServer/logs by default).
  • 日志文件名称:logs.name, name of log file (log by default).

5 启动

Windows 下的启动方法为:

CumulusServer.exe /registerService [/displayName=CumulusServer /description="Open Source RTMFP Server" /startup=automatic]

Unix-like 下的启动方法为:

sudo ./CumulusServer --daemon [--pidfile=/var/run/CumulusServer.pid]

如我的启动命令为:

sudo ./CumulusServer --daemon --pidfile=./CumulusServer.pid

6 基本使用

本地 Flash client 可以通过如下语句连接:

var nc:NetConnection = new NetConnection();
nc.connect("rtmfp://localhost/");

RTMFP默认是采用1935端口,如果你特别指定了其他端口,比如12345,请使用如下方式:

nc.connect("rtmfp://localhost:12345/");

7 扩展 CumulusServer——Server Application

启动CumulusServer后,会在可执行文件的目录下出现一个www目录,该目录的作用,就是作为 Server Application 的默认根目录。具体的对应关系如下:

rtmfp://host:port/                   ->     [CumulusServer folder]/www/main.lua (root application)
rtmfp://host:port/myApplication      ->     [CumulusServer folder]/www/myApplication/main.lua
rtmfp://host:port/Games/myGame       ->     [CumulusServer folder]/www/Games/myGame/main.lua

另外要提醒的是,如果main.lua文件被修改,则不需要重启CumulusServer,因为 Server Application 的创建是一种动态的方式。

CumulusServer 的详细扩展方式会在下一篇文章中介绍。

-

转载请注明来自柳大的CSDN博客:Blog.csdn.net/poechant

-

分享到:
评论

相关推荐

    OpenRTMFP Cumulus Primer()入门介绍与部署CumulusServer.pdf

    《OpenRTMFP Cumulus Primer 入门与CumulusServer部署》 OpenRTMFP (Real Time Media Flow Protocol) 是一种技术,它为Flash实时应用提供了高并发扩展能力。OpenRTMFP/Cumulus是基于GNU General Public License的...

    cumulus-linux-4.4.0-vx-amd64-qemu.zip

    Cumulus Linux 4.4.0 是一个专为网络设备设计的开源操作系统,它将Linux的强大功能与网络硬件的灵活性相结合。这个版本是为AMD64架构设计的,并且已经打包成了一个适用于QEMU(Quick Emulator)的虚拟机镜像文件,...

    RTMFP服务器脚本CumulusServer.zip

    openrtmfp又名Cumulus Server是一个完全开源和跨平台的可扩展的RTMFP服务器脚本。Cumulus Server在GPL 框架下遵循速度、优势、跨平台、轻量和高质量代码。Cumulus Server的每一个版本都是通过严格测试和审核的。可...

    cumulus-linux-cookbook:用于管理积云开关的手册

    这本食谱在 vanilla Debian 上创建了一个交换机覆盖,并且还部署在 Cumulus 路由器/交换机上。 要求 测试 访问 Debian Wheezy 盒子 生产 访问 Cumulus HCL [1] 开关(Accton AS6701_32X,这就是这本食谱最初的目的)...

    HPCCloud:基于 CloudWeb 的仿真环境

    高性能计算云 目标 ...$ vi /opt/hpccloud/cumulus/cumulus/conf/config.json +- > Fix host to be localhost +- > baseUrl: " http://localhost:8080/api/v1 " , $ sudo service celeryd restar

    wp-cumulus(支持中文标签)

    1. **下载与上传**:首先,你需要从可靠的源获取`wp-cumulus`的压缩包,解压后将文件上传到WordPress的`wp-content/plugins`目录下。 2. **激活插件**:登录WordPress后台,进入“插件”管理页面,找到`wp-cumulus`...

    cumulus(浑天仪)使用手册

    《浑天仪(Cumulus)使用手册》是一个详细介绍如何使用Cumulus这一开源工具的文档,主要面向对源码和工具感兴趣的IT从业者。Cumulus可能是基于Web的项目管理工具或者数据分析平台,而`swfobject.js`和`tagcloud.swf`...

    用Lua编写HelloWorld应用扩展CumulusServer源码

    1. **设置开发环境**:确保已经安装了CumulusServer和Lua解释器。在服务器配置文件中,指定Lua扩展的路径,以便服务器启动时加载。 2. **编写Lua脚本**:创建一个新的Lua文件,例如`hello_world.lua`。在这个文件中...

    Cumulus:一个基于网络编码的分布式文件系统.pdf

    1. **文件切片与编码**:首先,Cumulus 把存储的文件分割成多个切片,然后对这些切片进行网络编码。编码过程通常包括线性编码,如矩阵乘法,将多个原始数据块组合成新的编码块。这些编码块在网络中传输时,能提高...

    Flex P2P 音视频流客户端(Cumulus支持)

    2. **连接建立**:客户端通过Cumulus库与其他用户建立P2P连接,这通常涉及NAT穿透,以确保在不同的网络环境中也能正常工作。 3. **媒体流协商**:连接建立后,客户端会进行音视频流的协商,确定传输的格式、编码等...

    wp-cumulus_3D云标签

    本文将深入探讨wp-cumulus插件的原理、安装与配置,以及如何通过它来优化网站的用户体验。 首先,让我们了解什么是3D云标签。3D云标签是一种将传统标签以立体、旋转的3D形式展现的技术,标签不再是平面的文字列表,...

    wp-cumulus

    "wp-cumulus" 是一款在WordPress平台上的插件,专为博客或网站提供美观的三维标签云展示。这款插件赋予传统的标签云一个全新的视觉体验,通过立体旋转的效果,使得用户可以更直观、有趣地浏览和探索网站的各类标签。...

    Cumulus官网视频会议样例代码

    这里给出了cumulus/OpenRTMFP的git官网提到的视频会话样例的AS3代码,包括服务器端和客户端两部分,我已经在<使用Cumulus和Flash Player搭建视频会议示例>http://blog.csdn.net/tao_627/article/details/18041473中给...

    Cumulus:CloudApp 的开源替代品,利用您自己的 S3 进行存储

    积云Cumulus 是的免费、开源替代品,它利用您自己的 S3 进行存储。下载您可以在下载最新版本更改默认截图目录这是可选的。 默认情况下,OS X 会将屏幕截图放在您的桌面上。 但是,如果您希望他们去其他地方,您可以...

    cumulus:Cumulus框架+ Cumulus API

    积云框架 :open_book: 文献资料 最新文档。... DR-如果需要将devDependency添加到程序包,请将其添加到顶级package.json文件,而不是与单个程序package.json关联的package.json 。 安装 这是用于Cumulus开

    cumulus-integration-tests:Cumulus工作流的集成测试[已弃用]

    您的默认AWS凭证应与用于部署的凭证相同。 要使用其他堆栈名称,请更新app/config.yml , iam/config.yml和deployer/config.yml 。 运行测试时,默认情况下,测试将使用spec/config.yml定义的配置来尝试执行工作...

    wp-cumulus.rar_TagCloud._TagCloud.as_flex cumul_wp cumulus_wp cu

    【标题】"wp-cumulus.rar" 是一个与WordPress相关的压缩包,其中包含"TagCloud._TagCloud.as",这表明它与创建和展示WordPress标签云的插件有关。"flex cumul_wp cumulus_wp cu"暗示这个插件可能是用Adobe Flex技术...

    cumulus-dashboard:积云 A​​PI 仪表板

    用于为 Cumulus API 生成和部署仪表板的代码。 文档 其他页面: 配置 仪表板由从 Cumulus API 检索到的数据填充。 在构建和部署仪表板之前,必须预先确定和设置 Cumulus API 的环境。 配置仪表板所需的信息可在app/...

    3D标签云单机中文版 WP-CUMULUS 1.23

    大名鼎鼎的WP-CUMULUS 3D标签云,已经改成支持中文标签,可在.htm自行添加标签链接,可以单机玩耍测试,不需要安装WordPress然后装插件~~ 主要是有些童鞋只是想要3D标签云动画,所以就提取重要文件出来稍作修改下.

    Mellanox Cumulus 培训资源

    Mellanox Cumulus学习,基本使用,培训资源

Global site tag (gtag.js) - Google Analytics