Skip to content

MediaHarbor Installation Guide

MediaHarbor Logo

📄 System Overview

MediaHarbor is a multi-view service that allows easy setup in any environment the customer prefers, whether on the cloud or on-premises, by using the installer prepared by Traffic Sim.
By purchasing the required points through the LicenceManager accessible from MediaHarbor (supports both invoice and credit card), you can start using it immediately.

Not only IP streams, but by using the Traffic Sim manufactured unit, inputs such as ISDBT/ISDBS/QAM and SDI are possible. It also supports descrambling of B-CAS/C-CAS/TRMP/ACAS. Apart from displaying through decoders on traditional large TVs, you can watch via HLS or WebRTC on client PCs, tablets, smartphones. This means you can instantly check the multi-view screen even at home, outside the broadcasting area, and of course, during business trips.
Additionally, it's a multi-view service that supports selecting any stream, distinguishing the audio, and magnifying the display.

Beyond the multi-view feature, Traffic Sim's strength in Transport Stream(TS) layer monitoring, and audio and video monitoring (like blackout, freeze, silence) will be sequentially released.
Users can purchase the licenses they need and immediately integrate that functionality into MediaHarbor.
There's also consideration for a feature that overlays alarms in conjunction with other devices, making it possible to build a centralized monitoring environment in MediaHarbor.

Note: Descrambling requires the use of a Traffic Sim manufactured unit.
Note: Various monitoring functions will be released sequentially.

📄 Supported Codecs

🎞 Video

  • MPEG-2
  • H.264/AVC
  • H.265/HEVC
  • AV1(*)
  • JPEG XS

*Supported via AWS MediaLive

🎵 Audio

  • AAC
  • Opus(*)
  • AC-3 (Dolby Digital)(*)
  • E-AC-3 (Dolby Digital Plus)(*)

*Supported via AWS MediaLive

🔗 Supported Protocols

  • RTP
  • RTP-FEC
  • SRT Caller
  • SRT Listener
  • zixi Pull(*1)
  • zixi Push(*1)
  • RIST (*1)
  • HLS (*2)
  • NDI
  • ST 2110
  • RTMP Pull
  • RTMP Push

*1 Supported via AWS MediaConnect
*2 If the stream is switched during a commercial break or similar interruption, playback may be disrupted.

💻 Operating Environment

🖥 Hardware Requirements

  • CPU: 11th Gen Intel Core i5 (64-bit) 2.40GHz 4 Cores and 8 Threads or higher
    ※ AWS Graviton 3 ARM processor is also supported
  • Memory: 16GB or more
  • Disk Space: 20GB or more free space
  • Graphics card: None

Note

These are reference specifications for about 25 H.264/AAC input sources.
Higher specifications may be required depending on the number of input sources and codecs.

📦 Software Requirements

Server

OS: Linux (AlmaLinux / Rocky Linux / Ubuntu Server / Amazon Linux)

Warning

Does not work on Windows Subsystem for Linux.

Docker and docker-compose must be installed.

Note

If not, they will be installed when the installer is run.

Client

OS: Windows, Mac, iOS, Android
Browser: Google Chrome, Mobile Safari

🌐 Network Requirements

  • Be able to connect to the internet for license verification
  • The following ports must be open
Port Number Protocol Purpose
80 TCP MediaHarbor Web UI
10102 UDP SRT Output
49152-65535 UDP WebRTC
42000-42100 UDP SRT or RTP signal input

📝 Installation Procedure

🔑 Obtaining the API Key

Log in to the License Management System

https://license.trafficsim.co.jp/

Note

A CastHive account is required to login to the license management system.
If you do not have an account, please register at CastHive Organization Registration.
If you already have a CastHive account and would like to add LicenceManager, please let us know through the inquiry form or by email.
Our reception is open during business hours on weekdays (9:00 AM to 6:00 PM, Japan Time).
We will confirm your application and issue an account and add the application.
Please note that it may take some time for issuance and addition.

Open the MediaHarbor Management Screen

Click the "Connect MediaHarbor" button.

license1

Create a New MediaHarbor API Key

Create a New MediaHarbor API Key Click the "Add New MediaHarbor" button.

Tip

Only the administrator user can perform this operation.

license2

Review the terms and conditions. If you agree, check the "I Agree" box, enter New MediaHarbor Instance Name, and then click the "Create" button.

license3

A new MediaHarbor API key will be generated. Please make sure to copy it.

Note

You can check the API key later as well. It will be needed when you run the installer.

license4

💿 Installation

Execute the following steps on the target Linux server.

Download the Installer Shell Script

Run the command below:

1
sudo curl -OL https://mediaharbor.trafficsim.co.jp/installer_en.sh

Grant Execution Permission to the Downloaded Shell Script

Run the command below:

1
sudo chmod +x installer_en.sh

Execute the Installer

Run the command below:

1
sudo ./installer_en.sh

install1

During the installation wizard, an API key input screen will appear.
Enter the API key you obtained in the previous steps.

install2

Continue with the wizard to complete the installation.

🔧 Troubleshooting

If you encounter any issues, please try the following steps:

Display shows "Error response from daemon: toomanyrequests: Rate exceeded"

  • There's congestion when retrieving the Docker image. Wait for a while and then re-run the installer shell script.

Unable to Pull Container Image via Proxy

  1. Docker Daemon Configuration
    You'll need to add the proxy settings to the Docker daemon.
    Create an http-proxy.conf file inside the /etc/systemd/system/docker.service.d/ directory.
1
2
sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

Add the following content to the file:

1
2
3
4
[Service]
Environment="HTTP_PROXY=http://your-proxy-server:3128"
Environment="HTTPS_PROXY=http://your-proxy-server:3128"
Environment="NO_PROXY=localhost,127.0.0.1"

Replace your-proxy-server with the hostname or IP address of your proxy server.

  1. Reload Docker Daemon
    To apply the changes, reload the Docker daemon.
1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

Unable to install due to other displayed errors

  • You might be running out of storage space. Please check your available storage.
  • If an error message appears while executing the installer shell script, record that message and contact support.

Installation completed but unable to access

  • Ensure Docker is running correctly. Execute the following command to verify that Docker is functioning properly:
1
sudo docker ps

If it's working correctly, you'll see a list of running containers.
If nothing appears or an error message is shown, recheck your Docker installation and settings.

1
2
3
4
5
6
7
CONTAINER ID   IMAGE                                      COMMAND                  CREATED          STATUS         PORTS                                                  NAMES
ea5b30e0d8f7   public.ecr.aws/mediaharbor/stream:latest   "/usr/local/bin/janu…"   45 seconds ago   Up 10 seconds                                                          stream
30b909ec82b7   public.ecr.aws/mediaharbor/mhb:latest      "/bin/bash /mnt/run.…"   45 seconds ago   Up 10 seconds                                                          mhb
e4cead5b7988   public.ecr.aws/mediaharbor/ui:latest       "/nodejs/bin/node se…"   45 seconds ago   Up 10 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp              ui
9c79d6582467   public.ecr.aws/mediaharbor/api:latest      "docker-entrypoint.s…"   45 seconds ago   Up 11 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp              api
714364d2acaf   public.ecr.aws/mediaharbor/proxy:latest    "/docker-entrypoint.…"   45 seconds ago   Up 42 seconds                                                          proxy
590ca661bf7b   mariadb:11                                 "docker-entrypoint.s…"   45 seconds ago   Up 43 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   db
  • If installed on a cloud service, please check the security group settings.
  • Ensure the ports mentioned in Network Requirements are open.

Can be played with regular latency, but not with low latency.

  • In a NAT traversal environment, if the global IP address changes after installation, WebRTC connectivity will be lost. Run installer.sh again to update the settings with the current global IP address.

Cannot play when a high-bitrate stream is input.

  • Open the advanced settings of the input source and increase the probe size setting.

"API KEY MISSING or WRONG API CONFIG" message displayed over the video

APIKEYMISSING

  • The API key you entered during installation may be incorrect.
    Please run installer.sh again and re-enter the API key.

"NO LICENSE or LICENSE EXPIRED" message displayed over the video

NOLICENSE

  • There's a possibility that the MediaHarbor server is unable to communicate with the license management system.
    Please check if you are connected to the internet.
  • You might be running low on points.
    Log into the License Management System and check if you have any points remaining.

🧑‍🔧 Support Information

If the problem persists or you need further support, please reach out through the contact details below:

Inquiry Form

For conducting pilot tests in preparation for full-scale implementation, you can apply for trial points.

Trial Point Application Form