Installation and Testing of NMM (Windows) Motama GmbH, Saarbruecken, Germany (http://www.motama.com) April 2010 Copyright (C) 2005-2010 Motama GmbH, Saarbruecken, Germany http://www.motama.com Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being all sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found in the file COPYING.FDL. THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE DOCUMENT BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER DEALINGS IN THE DOCUMENT. This document gives an introduction on how to install and test the NMM version for Windows released under the NMM Non-Commercial Licence (NMM-NCL). In this document, we assume that NMM setup package is called nmm-2.3.0.msi and will be installed to directory c:\program Files\Motama\NMM. If you intend to develop with the NMM SDK, NMM should be installed to a directory where the developer has write access. Please replace these names as appropriate, e.g. with the name of the NMM package that you are actually using. 1
1. Requirements Installation and Testing of NMM (Windows) 1.1. Hardware Requirements You need a properly configured operating system, e.g. a PC running Windows XP, Windows Vista or Windows 7. NMM will run both on 32-bit and 64-bit versions of Windows. However, only 32-bit libraries are provided in this release. 1.2. Network Configuration The Windows firewall may block networking functionality of NMM. If you want to use NMM behind a firewall, you will have to add exceptions to your firewall configuration which allow NMM applications to communicate with each other. There are two approaches for configuring your firewall: Simply run the NMM application you want to use. The Windows firewall will display a popup asking you to allow or deny access to the network. by allowing access, Windows will automatically add a firewall exception for the application. This requires that you have administrative rights. If you are developing applications using NMM, and not all persons using the same system have administrative rights, then you should manually add firewall exceptions, which allow all applications to use certain ports. This approach is described below. In order to connect distributed flow graphs, you need to open at least the following ports for incoming traffic: Port 22801 (TCP) Port range 5000-6000 (TCP), depending on the number of NMM applications you are going to run simultaneously on the same system. Typically, it is sufficient to open only port 5000. Port 22802 (UDP) and 22803 (UDP). These ports are needed only if you want to use the discovery service of the NMM registry. This service is required by some applications in this release, such as tvcaster_client. If you are using applications which receive UDP or RTP unicast or multicast streams on specific ports, then you must also open these ports for incoming UDP traffic. On Windows 7 and Windows Vista, firewall exceptions can be added as follows: Open control panel, go to "System and Security", "Windows Firewall", "Advanced Options". Right click on "Incoming Rules" and select "New Rule..." from the context menu. 2
Select rule type "User defined" In the "Program" category, select "All programs" (the default) In the "Protocol and Ports" category, select protocol (UDP or TCP) In the "Protocol and Ports" category under "Local Port", select "Specific Ports" and enter the ports that should be opened (you can specify multiple ports and ranges of ports, e.g. "12345, 111-9999") In the "Name" category, enter a name for the rule. ATTENTION: If an application attempts to do any network operations which are not explicitly allowed by the firewall rules, and you do not allow access, or you do not have administrative rights, then Windows 7 will automatically add two Firewall rules, which block all UDP and TCP traffic for that application. You have to remove these rules again in the firewall settings of the control panel, or your port-specific firewall exceptions will not work for that particular application. 2. Installation of NMM 2.1. Download NMM Download NMM from here (../../../nmmdownload.html). 2.2. Install Install NMM on all hosts: Note: You need system administrator rights to perform this step. Double click on the nmm-2.3.0.msi icon. Follow the instructions given by the setup wizard. Note: On Windows Vista and Windows 7, the folder C:\Program Files may be shown under a different name in Windows Explorer, depending on the language settings of your Windows system. However, the path C:\Program Files\Motama\NMM is always valid and points to your installation of NMM. 2.3. External Libraries No external libraries are required for building the NMM base system on Linux. 3
2.4. Environment Variables You need to adjust some settings for every user account that will use NMM: Log in on the user account that will use NMM. Open the Windows Control Panel. Double click on the System icon. Windows XP: Double click on the System icon. Choose Advanced, then Environment variables. Windows Vista and Windows 7: Choose User accounts, then Change own Environment variables (classical view). Add a new variable called PATH to the User variables. The value of the variable should be C:\Program Files\Motama\NMM;C:\Program Files\Motama\NMM\winxp\dll If such a variable just exists, extend it with the given line divided by semicolon from old entry. Add another new variable called NMM_DEV_DIR to the User variables. The value of the variable should be C:\Program Files\Motama\NMM\ Confirm all dialogs by clicking OK. 3. Testing NMM You need to configure and test NMM. 3.1. NMM Registry Setup the NMM registry: Change to directory of NMM registry c:\program Files\Motama\NMM on console. Run.\serverregistry -s and wait until all plug-in information is generated. This step is also performed automatically when you start some NMM application or example for the first time. Note: If you did not install the pre-compiled libraries package, serverregistry will complain about not existing libraries and state the corresponding plug-ins as not available. 4
3.2. Test NMM Test NMM using the application called clic, which is a very powerful tool. Change to directory of clic c:\program Files\Motama\NMM. Test audio output: Run.\clic gd\crossplatform\testing\test.gd. If clic does not work as expected, try adding -v for getting all error messages or -vv for all error and warning messages. Most often, the NMM_DEV_DIR or the LD_LIBRARY_PATH are not set correctly as described above. Or, a plug-in required for the specific.gd file is not available on your platform. Repeat.\serverregistry -s and see, which plug-ins are available. Then compare this information with the content of the.gd file. If everything works fine, you might want to read the documentation on clic. 3.3. Security All security settings are optional, but recommended. Copy c:\program Files\Motama\NMM\resources\nmmrc_sample to your settings directory as nmm.ini and edit it. The settings directory is C:\Users\<username>\AppData\Roaming\Motama on Windows Vista and Windows 7 or C:\Documents and Settings\<username>\Application Data\Motama on Windows XP. Note that the directory names might be different on Windows XP and shown differently on Windows Vista and Windows 7, depending on the language settings of Windows. By setting allowedreadpaths you can restrict the paths from which plug-ins are allowed to read data, e.g. your wav files. By setting allowedwritepaths you can restrict the paths to which plug-ins are allowed to write data. By setting a passwd you can restrict access between NMM processes (and therefore systems). Only processes using the same password are allowed to interact. For example, if you start a serverregistry on host A and another user at host B wants to connect to this serverregistry, both of you need to agree on the same password. If you are behind a firewall and only connected to trusted hosts and users, you do not necessarily need these settings at all. 5