phpMyStream


Hits: 4730  

phpMyStream is media re-stream panel, it use FFmpeg & rtmpdump linux utilities to take source as input then publish to other server like Red5 or Wowza.

phpMyStream

phpMyStream Server Requirement

– Web Server With Apache, PHP, MySQL
– RTMPDump
– FFmpeg
– RTMP Server (Wowza, Red5, Nginx)

phpMyStream-add-stream

RTMPDump Help

FFmpeg Help

phpMyStream-settings

Make Server for phpMyStream

Install rtmpdump
# yum install gcc
# yum install openssl-devel
# wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.2e.tar.gz
# tar xvf rtmpdump-2.2e.tar.gz
# cd rtmpdump-2.2e
# make & make install

Install FFmpeg
# yum install ffmpeg ffmpeg-devel ffmpeg-libpostproc opencore-amr

Re-Stream Commands

# rtmpdump –live -r “[Source-Input-RTMP]” -p “http://domain.tv/” -W “http://static.domain.tv/player.swf” -q | ffmpeg -i – -re -isync -acodec copy -vcodec copy -f flv “[Destination-Output-RTMP]”

# rtmpdump -r “[Source-Input-RTMP]” -p “http://www.domain.co/” -T “[Token]” -o- | ffmpeg -re -i – -isync -acodec copy -vcodec copy -f flv “[Destination-Output-RTMP]”

# ffmpeg -re -i “[Source-Input-RTMP]” -y -vcodec libx264 -acodec aac -strict -2 -ar 44100 -f flv “[Destination-Output-RTMP]”

phpMyStream set scheduled task (per minute) to process every stream that need restreaming…

* * * * * curl -s -o /dev/null http://Server-IP/phpMyStream/cron.php

Install DimDim on CentOS 5.3 (Final)


Hits: 3194  

Dimdim is a software company that provides a web-based platform (Webinar) for real-time, rich-media collaboration and meetings. Dimdim provides free web conferencing service where users can share desktops, show slides, collaborate, chat, talk and broadcast via webcam.

Dimdim Web Meeting Server Version:4.5 ReadMe ( 32 bit Operation System Only ) 

Created	     : 16/10/2008
Last updated : 01/12/2008

DIMDIM INSTALLATION PRE-REQUISITE CHECK:
========================================

Below is the list of Pre-Requisites which are required to install Dimdim Web Meeting Server

In case if you have any previous dimdim version, You need to uninstall it, 

1. Libc

a) Version Required: v2.5

b) Check if you have Libc Installed:

   Open a terminal and follow the below steps:

   	Type ldconfig -v |grep libc

   	i.e. root@dimdim#ldconfig -v |grep libc

	You should get similar output

	 	libcidn.so.1 -> libcidn-2.5.so
        libcrypt.so.1 -> libcrypt-2.5.so
        libc.so.6 -> libc-2.5.so
        libcap.so.1 -> libcap.so.1.10
        libcom_err.so.2 -> libcom_err.so.2.1
        libcrypto.so.6 -> libcrypto.so.0.9.8b
        libcapi20.so.3 -> libcapi20.so.3.0.4
        libcairo.so.2 -> libcairo.so.2.9.2
        libckyapplet.so.1 -> libckyapplet.so.1.0.0
        libcddb-slave2.so.0 -> libcddb-slave2.so.0.0.0
        libcspi.so.0 -> libcspi.so.0.10.11
        libcdda_interface.so.0 -> libcdda_interface.so.0.9.8
        libcupsimage.so.2 -> libcupsimage.so.2
        libcrack.so.2 -> libcrack.so.2.8.0
        libcryptsetup.so.0 -> libcryptsetup.so.0.0.0
        libcdda_paranoia.so.0 -> libcdda_paranoia.so.0.9.8
        libcurl.so.3 -> libcurl.so.3.0.0
        libcamel-provider-1.2.so.8 -> libcamel-provider-1.2.so.8.1.0
        libcamel-1.2.so.0 -> libcamel-1.2.so.0.0.0
        libcups.so.2 -> libcups.so.2
        libcroco-0.6.so.3 -> libcroco-0.6.so.3.0.1

Please check: if you see the below line it makes sure you have libc v2.5 installed.

  libc.so.6 -> libc-2.5.so

2. OpenOffice:

a) Version Required: v3.0

b) Check if you have OpenOffice Installed:

   Open a terminal and follow the below steps:

   - Type "find / -name soffice.bin | grep openoffice | grep program | grep org3"
    i.e. root@dimdim#find / -name soffice.bin | grep openoffice | grep program | grep org3
   - Please check the location of OpenOffice installed location,

Note:
	1. If you have version lower that 1.6 then you need to install v1.6.
	2. The below open office pack also has jre along with it. If jre v1.6 is already installed then remove
	   the jre rpm from this pack before you use it for open office installation. 

c) Recomended Install: 

Please go to the below URL to download and install OpenOffice v3.0

	http://mirrors.isc.org/pub/openoffice/stable/3.0.0/OOo_3.0.0_LinuxIntel_install_wJRE_en-US.tar.gz

					OR	

	http://download.openoffice.org/other.html#en-US

d) To install open office v-3.0.0.0 please follow below steps:
	1. Untar the open office pack you have downloaded.
	2. Go to open office directory
	3. cd RPMS
	4. You will find many rpm files ,please install these rpm files by running the below command :-
			rpm -ivh *.rpm

3. Java Runtime Environment ( JRE ):

a) Version Required: v1.6

b) Check if you have JRE Installed:

   Open a terminal and follow the below steps:

   	Type java -version

   	i.e. root@dimdim# java -version

	You should get similar output

	java version “1.6.0?
	Java(TM) SE Runtime Environment (build 1.6.0-b105)
	Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

	Type echo $JAVA_HOME
	You should get
	/usr/bin/java

	Some time java -version shows lower version even after installing newer version. This is because newer java is not in the system path.
	you can locate jre1.6 by the following command

	[root@localhost nginx]# find / -name java | grep /bin/java | grep jre | grep 1.6

	It will show output similar to 

	[root@localhost nginx]# /usr/java/jre1.6.0_05/bin/java

	now do

	[root@localhost nginx]# /usr/java/jre1.6.0_05/bin/java -version
	java version “1.6.0?
	Java(TM) SE Runtime Environment (build 1.6.0-b105)
	Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

Note: If you have verson lower that 1.6 then you need to install v1.6.

c) Recomended Install: 

Please go to the below URL to download and install JRE v1.6

http://java.com/en/download/manual.jsp

4. CherryPy

	a) Version Required: v3.1

	b) Check if you have CherryPy Installed:

	 Open a terminal and follow the below steps:

	   	Type python2.4
	   	Type import cherrypy

	   	You should get similar output
	   	root@dimdim# python2.4
		Python 2.4.3 (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import cherrypy
		>>>
		Above output indicates that cherrypy is installed.If it gives an output
		saying "NO SUCH MODULE" then please follow below steps.

	c) Recomended Install: 

	Please go to the below URL to download and install CherryPy v3.1

	http://www.cherrypy.org/wiki/CherryPyDownload

	CherryPy Installation:
		Open a terminal and follow the below steps:
			a. Download http://download.cherrypy.org/cherrypy/3.1.0/CherryPy-3.1.0.zip
			b. unzip CherryPy-3.1.0.zip
			c. cd CherryPy-3.1.0 and chmod +x *
			d. python2.4 setup.py install

	d) Now please follow above mentioned "step 4-b" by opening a new terminal and assure that cherrypy is correctly imported in python2.4 .

5. Flup

	a) Version Required: v1.0

	b) Check if you have Flup Installed:

	 Open a terminal and follow the below steps:

		Type python2.4
		Type import flup

		You should get similar output
		root@dimdim# python2.4
		Python 2.4.3 (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import flup
		>>>

		Above output indicates that flup is installed.If it gives an output
		saying "NO SUCH MODULE" then please follow below steps.

	c) Recomended Install: 

	Please go to the below URL to download and install Flup v1.0

	http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz

	Flup installation:
			Open a terminal and follow the below steps:
			a. Download http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz
			b. tar xvzf flup-1.0.tar.gz
			c. cd flup-1.0 and chmod +x *
			d. python2.4 ez_setup.py -U setuptools
			e. python2.4 setup.py install
	d) Now please follow above mentioned "step 5-b" by opening a new terminal and assure that flup is correctly imported in python2.4

6.	pycurl
	a) Version Required: v7.19

		Note:-
				If you are using CentOS 5.2, You need to upgrade your curl 7.15 to 7.19.
				Download curl 7.19 from http://curl.haxx.se/download/curl-7.19.0.tar.gz
				untar it tar xzf curl-7.19.0.tar.gz
						 cd curl-7.19.0
						 ./configure
						 make
						 make install
				After installing curl you need to make a soft link like
				ln -s /usr/local/lib/libcurl.so.4 /usr/lib/libcurl.so.4

	b)	Now we can proceed on pycurl installion.Just make sure you have
		python-devel package installed
		do
		yum install python-devel

	c)	for pycurl installation do as follows:

		Type
		easy_install-2.4 pycurl
		cd ..
		Type python2.4
	   	Type import pycurl

	   	You should get similar output
	   	root@dimdim# python2.4
		Python 2.4.3 (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import pycurl
		>>>

7. demjson
	a) Version Required: v1.3

	b) Check if you have demjson Installed:

	 Open a terminal and follow the below steps:

		Type python2.4
		Type import demjson

		You should get similar output
		root@dimdim# python2.4
		Python 2.4.3 (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import demjson
		>>>

	c) Recomended Install: 

	Please go to the below URL to download and install demjson v 1.3

	http://deron.meranda.us/python/demjson/dist/demjson-1.3.tar.gz

	demjson Installation:
		Open a terminal and follow the below steps:
			a. Download http://deron.meranda.us/python/demjson/dist/demjson-1.3.tar.gz
			b. tar xzf demjson-1.3.tar.gz
			c. cd demjson-1.3 and chmod +x *
			d. python2.4 setup.py install

	d) Now please follow above mentioned "step 7-b" by opening a new terminal and assure that demjson is correctly imported in python2.4

8. Python2.5
        Before installation of python2.5 do

	yum install zlib*

	8-a) Download demjson from
		a. http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
		b. tar xvzf Python-2.5.2.tgz
		c. cd Python-2.5.2
		d. ./configure
		e. make && make install

      NOTE: BEFORE PROCEEDING FURTHER PLEASE NOTE THAT we need pycurl,demjson,flup,cherrypy modules in python 2.5 also.To
      do this follow below steps.It will be using the same cherrypy,flup,demjson,pycurl which you have already downloaded
      in above steps 4-7.Now configure those with python2.5 as follows

	8-b) CherryPy for python2.5

		Version Required: v3.1

	   	a. Go to the directory where you downloaded the cherrypy package.
		b. cd CherryPy-3.1.0
		c. python2.5 setup.py install
		d. rm -rf CherryPy-3.1.0
		e. rm -rf CherryPy-3.1.0.zip

		You should be out of Cherrypy-3.1.0 directory and then
		Type python2.5
	   	Type import cherrypy

	   	You should get similar output which indicates that cherrypy is successfully installed with python2.5
	   	root@dimdim# python2.5
		Python 2.5.X (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import cherrypy
		>>>

		Above output indicates that cherrypy is installed and imported in Python2.5 correctly.		

	8-c) Flup for python2.5

		a. Version Required: v1.0

		b. Go to the directory where you downloaded flup

		c. cd flup-1.0 and chmod +x *

		d. python2.5 ez_setup.py -U setuptools

		e. python2.5 setup.py install

		f. rm -rf flup-1.0

		g. rm -rf flup-1.0.tar.gz

		Open a terminal or move out from flup-1.0 directory and follow the below steps:

		Type python2.5
		Type import flup

		You should get similar output
		root@dimdim# python2.5
		Python 2.5.X (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import flup
		>>>

		Above output indicates that flup is installed and imported in Python2.5 correctly.

	8-d) demjson for python2.5
		a. Version Required: v1.3

		b. Go to the directory where you downloaded demjson i.e. cd demjson-1.3

		c. cd demjson-1.3 and chmod +x *

		d. python2.5 setup.py install

		e. rm -rf demjson-1.3

		f. rm -rf demjson-1.3.tar.gz

		Now to check you must change your directory cd .. and then
		Type python2.5
		Type import demjson

		You should get similar output
		root@dimdim# python2.5
		Python 2.5.X (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import demjson
		>>>

	Above output indicates that demjson is installed and imported in Python2.5 correctly.

	8-e) pycurl for python2.5
		a) Version Required: v7.19

		b) Now we can proceed on pycurl installion for python2.5 .

		c)for python2.5 pycurl installation do as follows:

		Type
		easy_install-2.5 pycurl

		Type python2.5
	   	Type import pycurl

	   	You should get similar output
	   	root@dimdim# python2.5
		Python 2.5.2 (r252:60911, Oct  9 2008, 08:13:08)
		[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)] on linux2
		Type "help", "copyright", "credits" or "license" for more information.
		>>>import pycurl
		>>>

9. Port availability

	Port 80, 1935, 40000, 40001, 40002 , 40005 must be free in the machine on which you intend to install Dimdim Web Meeting Server.

	The Dimdim Servers use ports 80 &1935 for external communication. But port 80 alone is enough to be opened for external communication.
	In addition, ports 40000/ 40001/ 40002 / 40005 must be free for internal communication.

DIMDIM INSTALLATION:
====================

Installation Steps:

Step 1: Download dimdim rpm package

Step 2: Install rpm package by typing the command rpm -ivh Dimdim-4.5_SF_i386.rpm in a terminal

	Dimdim-4.5 will be installed under location /usr/local and a soft link for dimdim will be created under /usr/local. 

        The place holder will exactly look like
        --- usr
          |
          |--local
          	|
          	|--dimdim
          		|
          		|--ConferenceServer
			|
          		|--CobrowsingManager
          		|
          		|--DTP3
          		|
          		|--MediaServer
          		|
          		|--red5
          		|
          		|--nginx
			|
			|--ThirdPartyPackages

Step 3: By default, ip address of ethernet 0 interface of the box is configured for Dimdim Server. 

	i) To stop Dimdim, open a terminal and enter stopDimdim
	ii) To start Dimdim, open a terminal and enter startDimdim. 

	To start the meeting do
	http://<ipaddress>/dimdim/

Note: If the ip address is not the same or if you need to configure with different IP address, follow the below steps:

Step A:	Get the IP Address of the machine

 	Example:
      		root@localhost dimdim]# ifconfig eth0

      		The output will look like:
	         	  eth0      Link encap:Ethernet  HWaddr 00:0C:29:CA:FA:7C
		          inet addr:192.168.1.10  Bcast:125.255.255.255  Mask:255.0.0.0

		The IP Address for the above example is 192.168.1.10

Step b: Configure all the Dimdim components

		There may be two cases:
		1. Network has public and private IP mapping,

			ExternalIP:port --> Internal:port	

				Please note that port should be same, Port 80 is recommended.
				For example: 123.X.X.X:80 ---> 192.168.X.X:80
					publicIP is mapped to privateIP

			Use Config-ipaddress.pl like below
				cd /usr/local/dimdim
				./Config-ipaddress.pl 123.X.X.X 80 192.168.X.X

		2. VM has a singleIP, There is no network mapping(no Network Address Translation):

			Use Config-ipaddress.pl like below
				cd /usr/local/dimdim
				./Config-ipaddress.pl 123.X.X.X 80 

Step c: On completion of configuration, open a terminal and enter the command "startDimdim". This will start all the Dimdim components.
To ensure all Dimdim Components are started, check the status of the Dimdim Components.

You are now ready to start meeting. Start the meeting by providing the URL http://<IPAddressORHostnameConfigured>/dimdim/.
Please note the trailing slash is required in the URL after dimdim.Example http://192.168.1.10/dimdim/

Dimdim Sever Machine Restart:
=============================

When the machine where Dimdim Server installed is restarted,
	open a terminal and type startDimdim - This will start Dimdim Server

Dimdim SMTP Server Configuration :
==================================

Please note that the current smtp settings are just sample setting. It is adviced that you change these settings to your own smtp configuration. 

Below is suggested way to modify the smtp configuration

1) Open dimdim.properties configuration file

Go to folder cd /<dimdim_home>/ConferenceServer/apache-tomcat-5.5.17/webapps/dimdim/WEB-INF/classes/resources/

i.e. cd /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/webapps/dimdim/WEB-INF/classes/resources/

2) Modify the below settings as suggested. Please note that setting "dimdim.smtptype" needs to be configured depending on the type of smtp server.

##	Email Parameters that can be configured by the user.
##
email.server=<gmail smtp server address>
email.user=<your gmail id>
email.password=<your gmail account password>
email.sender=<your gmail account id>
email.PORT=465
email.EMAIL_CC=
email.EMAIL_BCC=
##
##
email.PROTOCOL=smtp
email.DEBUG_MAIL_SESSION=false
email.BUFFER_SIZE=2048
email.EMAIL_SUBJECT = has invited you to a Dimdim web meeting.
email.EMAIL_FROM_PERSON=DimDim Invitations
email.EMAIL_FROM=<your gmail account id>
email.EMAIL_REPLY_TO=<your gmail account id>
email.EMAIL_TO=
email.EMAIL_CHARSET=utf-8
##
##
##  This property refers to type of the SMTP Server
##  1 : Non SSL SMTP Server i.e. Dimdim SMTP Server
##  2 : SSL SMTP Server  i.e. gmail SMTP Server
dimdim.smtptype=2
##
##

DIMDIM UNINSTALLATION:
======================

Step 1:	rpm -e 	dimdim

	All the Dimdim Components installed by rpm package will be removed. 

Note:
	    1. Please don't try to change the IP Address or port numbers for the Dimdim components by directly
	       going to the components' folder. 

	    2. This Dimdim pack is only for 32-bit Operating System machines.

    	3. This is tested with CentOS 5.2.

Problems:
1. First free port 80 on server
Port 80, 1935, 40000, 40001, 40002 , 40005 must be free to install Dimdim Web Meeting Server.

so, just stop apache service running on port 80….
# service httpd stop
# /etc/init.d/httpd stop

2. Skip OS check
DimDim – Dimdim-4.5_SF_i386.rpm require CentOS 5.2 … if you want to install it on CentOS 5.3 then have to skip OS check ?
There is a file which check OS “/etc/issue”

# vi /etc/issue
here replace CentOS release 5.3 (Final) to CentOS release 5.2 (Final)

3. Change IP:Port
# cd /usr/local/dimdim
# ./Config-ipaddress.pl 123.X.X.X 85

here you have changed IP to 123.X.X.X and port to 85

Wow!!… now you have your own web based seminar (webinar) server where you launch multiple meetings simultaneously 🙂