Share Coding

Tutorials, Problems, Stuffs …

Install OpenRTMFP/Cumulus to CentOS 6.2

CumulusServer is a complete open source and cross-platform RTMFP server extensible by way of scripting.

From: Cumulus

RTMFP is a peer-to-peer system.
RTMFP will reduce the bandwidth costs for direct, live, real‐time communication solutions.
Flows data between the end‐user clients and not the server, bandwidth is not being used at the server.

From: Wikipedia

 
We are using OpenRTMFP and not Adobe FMS is because it is open source and do not cost any money.
Notes: Flash Media Streaming Server DO NOT support RTMFP.


 
According to the OpenRTMFP installation guide, three main libraries should be installed on the OS first.

 

1. The LUA has been installed by default at CentOS 6.2, but we also need to install the devel version, so we need to update the yum first.

[root@localhost ~]# yum update
	- After updated -
[root@localhost ~]# yum -y install lua-devel
	- After installed, check the version of LUA -
[root@localhost ~]# lua -v
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio

 
2. Use yum to install OpenSSL.

[root@localhost ~]# yum -y install openssl
[root@localhost ~]# yum -y install openssl-devel

 
3. Before install POCO, we need to install the external dependencies libraries first.

[root@localhost ~]# yum -y install unixODBC
[root@localhost ~]# yum -y install unixODBC-devel
[root@localhost ~]# yum -y install mysql
[root@localhost ~]# yum -y install mysql-devel

 
4. !Important! You should commit those commands before install POCO

[root@localhost ~]# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
[root@localhost ~]# rpm -ivh  http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
[root@localhost ~]# yum install gcc-c++

 
5. It’s time to install POCO now.

[root@localhost ~]# yum install poco
[root@localhost ~]# yum install poco-devel

 
6. Download the OpenRTMFP and unpack and cd into CumulusLib and compile it.

[root@localhost ~]# cd OpenRTMFP-Cumulus-6d19814/CumulusLib/
[root@localhost CumulusLib]# make

 
7. After that, we should compile the CumulusServer now, but it will fail.

[root@localhost CumulusLib]# cd ../CumulusServer/
[root@localhost CumulusServer]# make

 
8. The error has occur because the LUA version is incorrect, so we need to change the header information.

	- Find the LUA path -
[root@localhost CumulusServer]# find / -name lua.h
/usr/include/lua.h
	- My path is /usr/include/ -

[root@localhost CumulusServer]# vi Makefile
	Change the -llua5.1 to -llua

[root@localhost CumulusServer]# cd sources/
[root@localhost sources]# vi Script.h
	Change #include "lua5.1/lua.h" to #include "/usr/include/lua.h"
	Change #include "lua5.1/lauxlib.h" to #include "/usr/include/lauxlib.h"
[root@localhost sources]# vi Script.cpp
	Change #include "lua5.1/lualib.h" to #include "/usr/include/lualib.h"
	/usr/include/ is my path, replace your path to it

 
9. After all, compile again, and startup the server

[root@localhost sources]# cd ..
[root@localhost CumulusServer]# make
[root@localhost CumulusServer]# ./CumulusServer --log=8
DEBUG  RTMFPServer[62] Id of this RTMFP server : c02bfe37bac07b6991d57b5a0b573c3906cfe5684973988a573c0d4813dfe021
DEBUG  Server[67] Configuration scripting conversion: Not found: system.env
DEBUG  RTMFPServer[108] Socket buffer receving/sending size = 124928/124928
NOTE  RTMFPServer[119] RTMFP server starts on 1935 port
Advertisements

7 responses to “Install OpenRTMFP/Cumulus to CentOS 6.2

  1. Pingback: Peer To Peer Live Video Streaming on Actionscript 3.0 With OpenRTMFP/Cumulus Server « Share Coding

  2. no thanks 2012/09/05 at 11:44 pm

    Thank you so very, very much! You’ve been a BIG help.

  3. Diego Ortega 2013/06/24 at 8:30 pm

    I installed cumulus on a Linux Centos 6.4 64bits
    All the installation, and the dependencies were fine.
    I start the server, and it seems all to be ok, but when a cliente try to connect, it’s tell me: “UDP socket opened on 10.92.0.17:1234 connected to (null)
    The error is in this line of the main.lua:

    err = server:bind(“10.92.0.17:1234”) — start the server

    I check everything i know, and it’s looks fine.

    Any ideas ?

  4. niel.nathan 2013/10/25 at 5:04 pm

    hi, i’ve installed openrtmfp cumulus in slackware 14.0 and it works, i compiled and build based on openrtmfp-cumulus package that i found in someone blog.
    what i want to ask is,
    is there any configure in openrtmfp that can boost/optimize performance of live video streaming?
    i’ve seek in cumulus openrtmfp dev website. and don’t got any idea of it.
    and are flash-based video chat application can be optimalized?

    thanks before, sorry for my english :p

  5. Kevin Johnston 2014/01/28 at 11:23 pm

    thank you so much for this informative guide!
    how many hours should it take for the whole process to install OpenRTMFP/Cumulus to CentOS (including installation of LUA, OpenSSL and POCO) ? i have hired a developer and he is charging 20 hours work for this.

    • Mr.Sing 2014/01/28 at 11:47 pm

      When my boss tells me that he wants to host some video conferences via P2P,
      I spend 2 days to research P2P server, and found out that linux should be the best performance.
      Then I spend a week to learn how to use linux – centOS (Yes, never use linux before).
      At the end, I spend 3 days to try to build Cumulus to centOS.

      First time always difficult, it depends on the developer’s experience and his hardworking. But when he finished it once, it should take no more than an hour to install Cumulus to a new server again.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: