Media Server (RMS) Installation Guide
Dolphin comes with a free Media Server software (formerly Ray Media Server - RMS), based on open-source Red 5. Media Server is required for media streaming features of some Dolphin modules. Some hosting providers already have it installed, but you may need to install one yourself if you plan to use Dolphin with media streaming.
- Obtain SHELL access details for your server.
- Log into your shell account using your favorite SSH client (UNIX) or use a Remote Desktop Connection with your server (WINDOWS).
Note: You need the ports 1935, 1936 and 5080 to be opened/enabled in your firewall or iptables.
Choose a Folder to Install Media Server (UNIX)
- Choose the folder where RMS will be installed to. You can create a new separate folder for that. It doesn't matter where you create this folder but remember that if you want to prevent the folder from being accessed from a browser you should create it in the root directory of your hosting account (/) or your home directory if root is not accessible or writable (/home/myaccount/).
- For the purpose of this Installation Guide we assume you have created "ray_server" folder inside "/opt" directory. Now the absolute path to your Media Server folder is /opt/ray_server/.
- Download the latest Media Server application suitable for your operating system (it will be an archive for UNIX and an executable file for Windows).
- If you're installing the UNIX version, unzip the archive and upload the contents of the extracted folder into the folder you created on your server (for example/opt/ray_server).
- If you're installing the Windows version, run the downloaded executable file on your Windows server. If you have follow the wizard's instructions Media Server would be installed by default at C:\Program Files\RMS.
Make the following changes to the files inside the Media Server directory:
- access.dat - input all domain names which will be allowed to access RMS. Every domain name should be written on a separate line and should not contain "http://" and "www", just yourdomain.com;
- red5.sh (UNIX) - set the value for JAVA_HOME variable. It should be the path to the folder where JRE is installed. For example:
- run_daemon.sh (UNIX) - set the value for RAY_SERVER_PATH variable. It should be the path to the RMS folder on your server. For example:
- change the IP addresses in the files located in
where "path_to_rms" stands for path to your Media Server folder, and "widget_name" stands for board, chat, im, video and global ("global" is only for 3.5 version).
WINDOWS example:C:\Program Files\RMS\webapps\chat\WEB-INF\red5.properties
Now (both UNIX and WINDOWS) find and replace the following line:webapp.virtualHosts=0.0.0.0
You should consult with your hosting provider about your IP address or use "ping your_domain_name" command where "your_domain_name" stands for your real domain name.
- Now you have to add "executable" permissions to all the *.sh files and ffmpeg.exe file inside Media Server directory. You can do it by invoking the following command (UNIX only):
chmod -v 777 *.sh ffmpeg.exeMake sure your current directory is the Media Server folder.
- Now you can perform the test of Media Server functionality.
UNIX - invoke command:
WINDOWS - run (from Media Server directory):
You may get the following results:
- If the server has been launched successfully:
[INFO] 6413main:( org.springframework.web.context.ContextLoader.info ) RootWebApplicationContext: initialization completed in 84 ms [INFO] 6595 main:( org.mortbay.log.info ) StartedSelectChannelConnector @ 0.0.0.0:5080 [DEBUG] 6596main:( org.red5.server.Standalone.debug ) Startup done in: 6597 ms
Now you can use BoonEx Media Server Tester to test if your server responds to remote connections.This tested wouldn't work if you are installing Media Server locally on you computer.
- If you get "NetConnection.Connect.Success": the server started up successfully and you can proceed to the Running Media Server.
- If you get "NetConnection.Connect.Failed":
Possible problems may be:
- the 1935 or 1936 ports are closed on your server
- your server uses firewall which prohibits the access to it through the 1935 port
In either case you should advise with your hosting provider.
- If your server doesn't have sufficient RAM or you have no permissions to start RMS, you would see an output like this:
Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.Possible solution for UNIX-based operating systems only:
Edit the file red5.sh. Find the line containing this text:export JAVA_OPTS="$LOGGING_OPTS $SECURITY_OPTS $JAVA_OPTS"
and replace it with:export JAVA_OPTS="-Xint -Xms8M -Xmx16M $LOGGING_OPTS $SECURITY_OPTS $JAVA_OPTS"
Try to restart the server now. If there are no errors, this is it! If some still appear, try to increase the numbers up to 16/32 respectively. If this brings no result, try to change your hosting or use a superuser (root) account for installation.
Running Media Server
Cancel the execution of red5.sh or start.exe and run RMS as a service (background application). You can do it by:
You can now execute the following command on UNIX-based OS to make sure that RMS has started:
ps ax | grep red5
The output should contain a line that looks like this:
18247 pts/0 Sl+ 0:55 /opt/red5new_555/jre1.x/bin/java -Djava.security.manager -Djava.security.policy=conf/red5.policy -cp red5.jar:conf:. org.red5.server.Standalone
If you don't see such a line, check red5.sh and run_daemon.sh for all the required changes (see Configuring RMS point above). On Windows you should run Task Manager and look for "javaw.exe" process to make sure the server has been started.
- After you have successfully started RMS, enter Ray Base -> Base Settings, tick the Use RMS checkbox and enter your RMS IP address in the RMS Addressfield.
- After you save the settings by clicking the Save button the necessary changes will be made on the RMS side and it will become usable.
Launching Media Server on Startup
- Now you should add a task to your server's startup file, so every time your server restarts, RMS could start automatically. On most Linux systems this file is/etc/rc.local. You should input the following lines in it: "cd path_to_rms" and "/path_to_rms/run_daemon.sh", where "path_to_rms" stands for the absolute path to Ray Media Server folder.
cd /opt/ray_server ./run_daemon.sh
Note: on Windows machines you will have to add the following file "C:\Program Files\RMS\run_daemon.exe" to Startup.
Base Settings for Media Server
- Now you need to enter the Ray Base (in Dolphin navigate to Plugins -> Ray Suite) and specify your RMS Address and ports in the Ray Base Settings (by default you should specify 1935 for RMS Port and 5080 for RMS HTTP Port). Also make sure that the Use RMS checkbox is ticked.
- If your RMS is inaccessible you will receive a notification about it after you have completed the previous step. In case of successful connection there will be no notification.
Stopping_Starting_Upgrading Media Server
- UNIX (providing that Media Server is installed in the folder ray_server):
ps ax | grep ray_server
Now notice the process ID which precedes the RMS startup string, for example:24945 ? Sl 1052:57 /opt/ray_server/jre/bin/java -Djava.security.manager -Djava.security.policy=conf/red5.policy -cp red5.jar:conf: org.red5.server.Standalone
In this example, the first number 24945 is the RMS process ID.
Now you need to kill this process by running the following command:kill -9 PROC_ID
where PROC_ID is the ID of the RMS process
To start it again, run the run_daemon.sh file located in the ray_server directory:./run_daemon.sh
- On Windows systems, you will have to open consequently Start -> Programs -> RMS -> Stop service.
To start it again, open consequently Start -> Programs -> RMS -> Start service
- To upgrade your current version of RMS, you need to stop the currently running RMS process, install the new version (see above) and start the process again.
When the default ports 1935, 1936 and 5080 are already in use by some application on your server, you can change them and start Media Server on different ports.
To do so, you need to do the following:
- Edit the file conf/red5.properties and replace all instances of 1935, 1936 and 5080 with different port numbers (you need to make sure that these ports are open). For example:
rtmp.port=1935should be replaced with something like
- Edit the files webapps/*/WEB-INF/red5-web.properties (where * stands for board, chat, global, im and video) and specify the port substituting 1935after the IP address, for example:
webapp.virtualHosts=192.168.1.1:10000in the video module you'll also need to specify an asterisk:
- Now specify these ports in Admin Panel -> Plugins -> Ray Suite -> Settings, where RMS Port should contain the number substituting the port 1935 and RMSHTTP Port should contain the number substituting the port 5080.