Home

Awesome

NymphCast MediaServer

NymphCast MediaServer (NCMS) is part of the NymphCast project. It enables the sharing of media files to NymphCast clients and servers on the network. Provided is a server application which can be installed on a system located on the same local network (LAN) as those servers and clients.

Features

Quick Start

Download or clone the project, then after moving into the root project folder on supported platforms run:

./setup.sh

This will install any missing dependencies and compile NCMS for the host platform.

After this NCMS can be installed on Linux platforms using:

sudo ./install_linux.sh

This will install NCMS and set up a Systemd/OpenRC service to auto-start NCMS on boot.

Supported platforms here are:

Getting Started

NCMS has to be compiled from source. This requires that the following dependencies are installed:

With these installed along with a C++17 supporting compiler, clone the NCMS repository to one's system and in the root folder of the project execute make. This compiles a binary called nymphcast_mediaserver under /bin/<toolchain>.

MSVC Support

Automated building using MSVC (2017, 2019 or 2022) is supported with dependencies provided by vcpkg. Within the root folder of the project, execute the provided bat file in a native x64 MSVC shell:

Setup-NMake-vcpkg.bat

To clean intermediate build files:

Setup-NMake-vcpkg.bat clean

With the InnoSetup executable files in the system path, a Windows installer can be created using:

Setup-NMake-vcpkg.bat package

Running NCMS

The binary supports the following flags:

Usage:
        nymphcast_mediaserver <options>

Options:
-h      --help                  Get this help message.
-c      --configuration         Path to configuration file.
-f      --folders               Path to folder list file.
-v      --version               Output the NymphCast version and exit.

The configuration file is an INI-format file (see sample folders.ini in the project), with the following layout:

[Audio]
path=audio

[Video]
path=video

Each section specifies the name of the collection, with the path variable defining the directory path (either relative to the media server binary or as absolute path) where the shared media files are located.

On Windows, use a regular Windows path, e.g. D:\Media\Video.

These shared folder are scanned recursively (including sub-folders) for media files (audio, video, images) based on their extensions. A full list of extensions can be found in mimetype.cpp.