macOS Installation - Storm Streaming Server
Installing Storm Streaming Server on computers running macOS is very simple thanks to the dedicated installer. This guide will walk you through all the necessary steps of the process and show you the basic server configuration.
If you don't have the installer yet, please visit our Download page.
Running the Installer
Once the volume file has been downloaded, double-click it. A window containing the Storm Streaming Server Installer should appear. Double-click the installer again and wait for it to launch.


If for some reason the installer does not run, go to System Settings > Privacy & Security and check if the option to allow apps from the App Store and identified developers is enabled.
Installer Steps
The installer will now guide you through the following steps:
In the first step, you must accept the software license agreement.


In the second step, you will be asked to enter the program license key. If you don't have a license, you can leave this field blank. A developer license will be assigned instead, which allows up to 5 concurrent streams and a total of 10 viewers.
If you have a commercial or non-commercial license for Storm Streaming Server, you can view it on this page: https://www.stormstreaming.com/my-products


In this step, you need to provide the admin username and password for Storm's web-based Control Panel.


In the fourth step, select the directory where the application will be installed.


In the final step, you can select a few additional options:
- Create a desktop shortcut
- Open Storm Control Panel


Basic Configuration
Now that the Storm Streaming Server application is installed, go to the installation folder you specified in step 4. There are a few things to configure here:
JVM Configuration
In the file Storm Streaming Server.vmoptions, you'll find JVM options that define, among other things, how much RAM should be allocated to the application. The default file content is:
-server
-Xmx16g
-Xms4g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=100
The -Xms and -Xmx parameters define the minimum and maximum amount of RAM available to the application. You should adjust these values to match your hardware resources. For example, to allocate a maximum of 128 GB and a minimum of 32 GB, change the values to:
-Xmx128g
-Xms32g
VHost Configuration
The socket configuration for Storm Streaming Server is located in the file config/preferences.xml. By default, it includes the following block:
<VHosts>
<VHost host="127.0.0.1" isSSL="false" port="1935">
<Protocols>RTMP</Protocols>
</VHost>
<VHost host="127.0.0.1" isSSL="false" port="8080" isControlPanel="true">
<Protocols>HTTP, WEBSOCKETS</Protocols>
</VHost>
</VHosts>
This defines two sockets listening on 127.0.0.1 (localhost). Port 8080 handles HTTP and WebSockets connections, and port 1935 handles RTMP. For more information about VHost configuration, including how to enable SSL support, please refer to our VHosts guide.
In order to apply these changes, please restart the server. The following section explains how to stop and start the Storm Streaming Server service.
Managing the Service
You can access the web-based control panel of the application using the 'Storm Control Panel' shortcut. Alternatively, you can open it directly in any web browser at: http://127.0.0.1:8080/cpanel (the IP address and port may vary depending on your VHosts configuration).
The Storm Streaming Server runs as a background service (LaunchDaemon) and is automatically started with the system. Below you'll find basic service management commands:
sudo launchctl stop com.webanatomy.StormStreamingServer
sudo launchctl start com.webanatomy.StormStreamingServer
FFMPEG Installation (optional)
If the console shows a message about missing FFMPEG (required for stream transcoding), you can specify its path in the config/preferences.xml file. The configuration is found in the <Transcoder> block, like this:
<Transcoder>
<FFMPEG>
<Path>/opt/homebrew/bin/ffmpeg</Path> <!-- optional -->
<Command>-nostdin -i {SOURCE_INPUT} {VIDEO_ENCODER} {AUDIO_ENCODER} -f flv {STREAM_OUTPUT}</Command>
</FFMPEG>
<TranscodeTaskLimit>10</TranscodeTaskLimit>
<ThumbGenerateTaskLimit>5</ThumbGenerateTaskLimit>
<!-- remaining block -->
</Transcoder>
If FFMPEG has been added to the environment variables, you can leave the Path field empty — unless you want to explicitly specify which binaries should be used.
If FFMPEG is not installed at all on your system, you can use a package manager like brew. First, install Homebrew—full instructions are available at https://brew.sh.
Once brew is installed, open a terminal and type:
brew install ffmpeg
We encourage you to explore our Storm Streaming Server documentation. It covers individual server configuration elements and provides information about popular protocols such as RTMP, HLS, and more. The samples directory also contains several example video players preconfigured to work with your Storm Streaming Server instance.
For the next step we advise our Quick Start Guide.
If you have any questions or need assistance, please create a support ticket and our team will help you.