MinimServer is a UPnP AV music server with a number of innovative features that make it easier to organize and explore your music collection. If you have a network music player that supports the UPnP AV standards (see this page), you'll get much more from your music collection if you're using MinimServer as your music server software. Dec 28, 2017 To install MinimServer onto Melco there are really three stages. Firstly a JAVA environment has to be created on the Melco. The can only be done at present by the user downloading Java directly and accepting the T&C from Oracle – the publishers of Java. Once Java is installed MinimServer and the associated MinimStreamer can be installed easily.
- Applied Models.The models of this series are not compatible with the latest version of DSM. For details, please refer to the Product Support Status page. Please note that DS712+, RS2211RP+, RS2211+, DS411+II, DS411+, DS2411+, and DS1511+ are not compatible with Active Backup for Business since they do not support Btrfs.
- Oct 05, 2020 The playback did however suffer in my experience from drop outs and stuttering. Now this could be due to my hardware, running the core on a NAS, but this is a supported configuration, and it works flawlessly with Plex and MinimServer which are also running on the NAS so i expect the problem to lie with the client, or the end point listening device.
MinimServer has a great reputation as a high performance UPnP dedicated Music Server. It can be installed on a Melco N1 relatively easily.
Please visit http://minimserver.com/
The authors of MinimServer have kindly prepared a detailed private web page with all the instructions clearly laid out and all download links present. Please remember to make a donation to the authors of MinimServer in order to allow for support – which is really excellent – and to permit continued development and refinement of MinimServer.
How to install Minimserver on Melco N1
To install MinimServer onto Melco there are really three stages.
- Firstly a JAVA environment has to be created on the Melco. The can only be done at present by the user downloading Java directly and accepting the T&C from Oracle – the publishers of Java.
- Once Java is installed MinimServer and the associated MinimStreamer can be installed easily.
- Finally in order to monitor the operation of MinimServer, MinimWatch should be installed onto any PC or Mac on the same network as the Melco. This is not essential, but does improve management.UPnP Server as well as local player into USB DAC.
Detailed instructions and download links
The authors of MinimServer have kindly prepared for Melco users a dedicated private web page. This details the precise steps to be taken to install Minim-Server and components onto a Melco N1. This is greatly simplified by the web page also containing the current links to the various software steps.
Link to the private page of instructions for Melco users.
http://minimserver.com/install-melco.html
NOTE:
After installing MinimServer, both MinimServer and twonky media server which is supplied with the Melco FW already could be used at the same time. If you are using MELCO FW 3.73B (Beta firmware), you could set twonky media server off from
[4]Setting - [2]Media Server - [4]Twonky Service.
What do I need to install MinimServer?
The N1 needs to be configured onto a Network and the automatic Power Save function set to OFF for the installation process.
Secondly a PC or Mac is required connected to the internet, to access the above web page, and to download from the various links.
A USB stick will be needed for the files – less than 100MB.
Finally it is necessary to have a PC or Mac on the same network as the Melco onto which MinimWatch can be installed.
NOTES:
There is no configuration - it is basically a simple two stage process, BACKUP from USB and then move USB to EXPANSION to read additional data files. Everything else is automatic providing that the Melco is connected to the Internet.
MinimWatch should be running on a PC or Mac connected to the same network.
- To clarify that Minimserver is running
- To allow the system to be aware of any updates to MinimServer, MinimStreamer (the DoP converter) and other components. These will automatically install when notified and accepted.
- To allow for the user to make specific configuration to the way that MinimServer operates – a valuable feature ensuring the best user experience. The default settings are a good starting point. The MinimServer website and Forums are a great resource for configuration.
- Finally to allow the MinimServer to be SCANNED in the event of new music being added to the libraries either within the Melco
or those being accessed by the Melco. (New music added does not automatically initiate a rescan of MinimServer and to make the music visible MinimServer should be rescanned from MinimWatch on a PC or Mac after music has been added).
RESCANNING the database
Rescanning of the music database is achieved by using MinimWatch (point 4 above) or can be initiated from the MinimServer Status Page at http://x.x.x.x:9790 where x.x.x.x is the IP address of the N1.
Music Library
Installing MinimServer adds a new Library to the Melco N1. The new library will be simply seen as MinimServer [N1-xxxx] (If music seems to be missing from this Library simply select RESCAN from MinimWatch on the networked PC.) Acrobat pro x for mac torrent.
Melco N1 Front Panel OLED Display
The Melco N1 has an informative front panel display – this usually shows the file name being passed to the external player which is usually the Track Name.
At this stage, using the MinimServer library this function is not enabled. Metadata etc of course is displayed on the interface of the player. We hope to be able to address this small limitation at some stage in the future.
[NEW] MinimStreamer 2 has replaced MinimStreamer 0.7. The license to use MinimStreamer 0.7 expired on 1st April 2021. For details of how to install MinimStreamer 2, see the Installing page.
User guide
Table of contents
Starting MinimStreamer
Playing network streams
Routing network streams via MinimStreamer
Transcoding
Input type filters
Stream converter program
Flow control
Making recordings
Streaming options
Convolution filtering
Starting MinimStreamer
If you haven't already installed the MinimServer and MinimWatch download packages, see theInstalling MinimServer and MinimWatchpage for details of how to do this.
The next step is to install MinimStreamer as an add-on extension package for MinimServer.See the Installing MinimStreamer page for instructions.
If you have installed MinimStreamer succesfully, MinimStreamer will be startedautomatically when you start MinimServer. You can check that MinimStreamer is running bylooking at the System tab of the MinimServer properties dialog. If MinimStreamer is running,the properties stream.converter
, stream.record
and stream.transcode
willappear in the System tab.
Playing network streams
You can use MinimStreamer to play a network stream (such as an internet radio station) on a music player(UPnP renderer) that doesn't have native support for playing the stream.
If the network stream URL points to an M3U or PLS playlist file containingan audio stream URL or multiple alternative audio stream URLs (to provide redundancy in case one of the streams isn't working),MinimStreamer reads the playlist format, connects to the first working stream in the playlist andsends the audio data from this stream to the music player.
If the network stream uses the icecast protocol for embedding metadata (such as track title and artistinformation for the currently playing song), MinimStreamer removes this metadata and sends the audio datato the music player. This makes the stream playable on music players that don't support the icecast protocol.
If the network stream URL points to an MPEG-DASH .mpd file, MinimStreamer reads this file anduses the MPEG-DASH protocol to read the stream audio data and send it to the music player asa conventional HTTP stream. This makes the stream playable on music players that don't support the MPEG-DASH protocol.The audio data in the stream can be encoded in either AAC or FLAC format.
If the network stream URL points to an HLS .m3u8 master playlist or media playlist file,MinimStreamer reads this file and uses the HLS protocol to read the stream audio data and send it to the music player asa conventional HTTP stream. This makes the stream playable on music players that don't support the HLS protocol.The audio data in the stream must be encoded in AAC format.
The stream processing described in this section doesn't change the format of the audio data(for example, MP3, AAC or FLAC) in the stream. In addition to this processing, MinimStreamer can optionallytranscode the audio data in the stream to a different audio format (for example, WAV) before sendingit to the music player. See the Transcoding section for details of how to to do this.
To activate processing of a network stream by MinimStreamer with the features described in this section,the stream must be routed via MinimStreamer. See the next section for details of how to do this.
Routing network streams via MinimStreamer
MinimServer supports network streams as http://
entries in .m3u
playlist files.By default, the music player makes a direct connection to the network stream, which means the network streamisn't processed by MinimStreamer. To route a network stream via MinimStreamer so that the featuresprovided by MinimStreamer can be used with the stream, thename of the stream must be specified in the .m3u
playlist file using the special format
[
id]
namewhere id is the stream ID and name is the stream name. Thunderbolt cards for mac.
The stream ID can be any identifier of your choice or it can be specified as an asterisk (*
).Including a stream ID in the playlist entry tells MinimServer to route the stream via MinimStreamerinstead of having it go directly to the music player. The stream ID is also usedto identify the stream for recording operations (see the Making recordings section).If the stream ID in the .m3u
file is an asterisk or is the same as the stream ID of another stream,MinimServer will create a unique stream ID for the streamand will display this unique ID when you browse your library.
As an example, to route the Linn Radio Classical stream via MinimStreamer,you could use a .m3u
playlist with the following contents:
#EXTM3U
#EXTINF:-1,[Linn] Linn Radio Classical
http://radio.linnrecords.com/cast/tunein.php/linnclassical/playlist.pls
When you view this stream in your control point, you will see an entrynamed [Linn]
Linn Radio Classical
that willroute the network stream to your music player via MinimStreamer.
If you also want to be able to play the network stream directly to yourmusic player without using MinimStreamer, you can specify a plus sign (+)before the stream ID. For example, if you specify the stream ID as[+Linn]
instead of [Linn]
, this will display asecond playlist entry named Linn Radio Classical
thatwill route the network stream directly to your music player without using MinimStreamer.
Some UPnP control points and renderers are unable to play streamsunless additional stream audio information is provided in the playlist entry. If you need to provide thisaudio information for your control point or renderer, you can use one of the following formats for the stream name:
[
id;
type]
name[
id;
type,
samplerate]
name[
id;
type,
samplerate,
channels]
namewhere type is the stream type (mp3, aac, etc.), samplerate is the sample rate (default 44100 if omitted)and channels is the number of channels (default 2 if omitted).
Transcoding
To enable transcoding, you need to specify one or more transcoding combinations in the stream.transcode
property. The format of each transcoding combination is the input type followed by a colon followed by the output type.The input type is the format of the file or network stream you are playing, and the output typeis the audio format that MinimStreamer will send to your music player. For example, to transcodeFLAC files to WAV output, you would use the transcoding setting flac:wav
.
Note: Transcoding settings are encoded in resource URLs for files and network streamsat the time that details of these files and streams are sent to the UPnP control point by MinimServer.This means that changing the stream.transcode
property doesn't affect transcoding settingsfor any files or network streams whose details were sent to the control point before the stream.transcode
property was changed. You can ensure that the current transcoding settings are applied to these files and streamsby reloading the control point's playing queue and refreshing the library container currently being browsed.
You can specify multiple transcoding settings separated by commas. For example,to transcode Apple Lossless (ALAC) files to 24-bit WAV output and also transcode ADTS network streams toMP3 output, you would use the transcoding settings alac:wav24,
aac:mp3
.
For many transcoding combinations (noted in the list below), a stream converter program is required.See the Stream converter program section below for more information.
The following input types are currently supported:
aac | AAC (Advanced Audio Coding) files and streams in ADTS format.Valid for local files served by MinimServer (.aac) and for network streams.For local files, the output type must be L16 , L24 ,wav , wav24 or wav16 .For network streams, all output types except for dopwav can be used.A stream converter program is required. |
aiff | Audio Interchange File Format (AIFF) files.Valid for local files served by MinimServer (.aif, .aiff) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .A stream converter program is required. |
alac | Apple Lossless (ALAC) files.Valid for local files served by MinimServer (.mp4, .m4a and .m4b) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .A stream converter program is required. |
dff | DSD audio files in DFF format.Valid for local files served by MinimServer (.dff) only.The output type must be dopwav .A stream converter program is not required. |
dsf | DSD audio files in DSF format.Valid for local files served by MinimServer (.dsf) only.The output type must be dopwav (except as stated in the following paragraph).A stream converter program is not required.If version 2.3 or later of the |
flac | FLAC files.Valid for local files served by MinimServer (.flac) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .By default, a stream converter program is not required.If you want MinimStreamer to perform transcoding using a stream converter program,you can specify this by adding a semicolon after the output type. |
mp3 | MPEG-1, MPEG-2 and MPEG-2.5 files and streams (Layers I, II and III).Valid for local files served by MinimServer (.mp3) and for network streams.For local files, the output type must be L16 , L24 ,wav , wav24 or wav16 .For network streams, all output types except for dopwav can be used.A stream converter program is required. |
mp4 | MPEG-formatted files containing AAC audio data.Valid for local files served by MinimServer (.mp4, .m4a and .m4b) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .A stream converter program is required. |
ogg | Ogg-formatted files containing Vorbis audio data.Valid for local files served by MinimServer (.ogg) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .A stream converter program is required. |
wav | PCM audio encoded in WAV format.Valid for local files served by MinimServer (.wav) only.The output type must be L16 , L24 ,wav , wav24 or wav16 .A stream converter program is required. |
* | Network streams of unspecified type.All output types except for dopwav can be used.A stream converter program is required.In addition to performing transcoding, this setting informs the UPnP control point and renderer about the transcoding outputtype for a network stream whose original type is unspecified (i.e., when the stream is anHTTP URL in a .m3u playlist and the playlist entry doesn't contain a stream type).This setting isn't used if the stream is played by aninternet radio using the instructions on the MinimRadio page |
The following output types are currently supported:
aac | PCM audio encoded in AAC/ADTS format. Valid for network streams only.A stream converter program is required. |
dopwav | WAV stream containing DoP (DSD over PCM) audio data (see this page).Valid for local files only.A stream converter program is not required. |
L16 | PCM audio encoded in 16-bit signed LPCM format.Valid for local files and network streams.If the input type isn't flac or if the output type is followed by a semicolon,a stream converter program is required. |
L24 | PCM audio encoded in 24-bit signed LPCM format.Valid for local files and network streams.If the input type isn't flac or if the output type is followed by a semicolon,a stream converter program is required. |
mp3 | PCM audio encoded in MP3 format. Valid for network streams only.A stream converter program is required. |
wav | PCM audio encoded in WAV format, preserving the original sample bit depth.Valid for local files and network streams.If the input type isn't flac or if the output type is followed by a semicolon,a stream converter program is required.If the input type is |
wav16 | PCM audio encoded in 16-bit WAV format.Valid for local files and network streams.For lossless 24-bit input streams (FLAC and ALAC),the audio samples are truncated to 16 bits by removing the low-order bits fromeach sample, which doesn't fully preserve the original lossless audio data.For lossy input streams (AAC and MP3), a floating-point conversion is performed with 16-bit precision.If the input type isn't flac or if the output type is followed by a semicolon,a stream converter program is required. |
wav24 | PCM audio encoded in 24-bit WAV format.Valid for local files and network streams.For lossless 16-bit input streams (FLAC and ALAC),the audio samples are extended to 24 bits by padding each sample with zeros.For lossy input streams (AAC and MP3), a floating-point conversion is performed with full 24-bit precision.If the input type isn't flac or if the output type is followed by a semicolon,a stream converter program is required. |
The original sample rate is preserved unchanged by default. For example, using thewav
setting to transcode a FLAC file with a bit depth andsample rate combination of 16/44100 will produce a WAV audio format of 16/44100.Using the wav24
setting to transcode this file will produce aWAV audio format of 24/44100.
For an output type ofwav
, wav16
, wav24
, L16
or L24
,you can specify the output sample rate by adding the suffix;
samplerate
where ;
is a semicolon and samplerate represents the desired output sample rate roundedto the nearest kHz. This value can be44
(for 44100 Hz), 48
(for 48000 Hz),88
(for 88200 Hz), 96
(for 96000 Hz),176
(for 176400 Hz), 192
(for 192000 Hz),352
(for 352800 Hz) or 384
(for 384000 Hz).For example, to transcode to wav24 with a sample rate of 176400 Hz,you can specify an output type of wav24;176
.If the input type is flac
and an output sample rateis specified, a stream converter program is used to transcode the stream.
As a special case, you can append a semicolon to the output typeand omit the sample rate. This is useful only for an input type of flac
.It sets the output sample rate to the same as the input sample rate anduses a stream converter program to transcode the stream.
For an output type of mp3
or aac
,you can change the output bit rate by adding the suffix;
bitrate
where ;
is a semicolon and bitrate represents the desired output bit rate in kbps.This value can be24k
(for 24 kbps), 32k
(for 32 kbps),48k
(for 48 kbps), 64k
(for 64 kbps),96k
(for 96 kbps), 128k
(for 128000 kbps),192k
(for 192 kbps), 256k
(for 256000 kbps)or 320k
(for 320 kbps).For example, to transcode to mp3 with a bit rate of 320 kbps,you can specify an output type of mp3;320k
.
Minimserver2
You can optionally add a size limit for transcoded WAV streams of unknown size.The transcode size limit can be specified in kilobytes (KB), megabytes (MB) or gigabytes (GB).For example, to specify a size limit of 2 GB, you can specify the output type as wav-2GB
.If you specify a size limit value of 2 GB or 4 GB, the size limit is one byte less thanthe specified value to prevent 32-bit integer overflow or underflow.The transcode size limit cannot exceed 4 GB minus one byte (the largest possible size for a WAV stream)and this is the default value if no transcode size limit is specified.MinimServer sets the stream length in the WAV headers to the transcode size limit and stopsstreaming when this stream length has been reached.
[NEW] If the streamSize
option (see below) is used to set a maximum stream size and thismaximum stream size is lower than the WAV transcode size limit,the stream size from the streamSize
option is used as the stream length in the WAV headers and the stream length sent to the renderer.
If you specify the special size limit 0KB (zero kilobytes) and the streamSize
option(see below) is not used, MinimServer sends a stream lengthof zero in the WAV headers and does not apply any size limit to the WAV stream.For example, to send a stream length of zero for a 16-bit WAV stream, you can specify the output typeas wav16-0KB
.A WAV stream length of zero is not part of the WAV specification but is a nonstandard extensionsupported by some players such as the Linn DS.
The default WAV transcode size limit (4 GB minus one byte) should be compatible with all playersthat can handle WAV streams.Sending a stream length of zero can be useful if you're using a player that can handle this(such as the Linn DS) but it causes problems with some other players (such asWindows Media Player and BubbleUPnP Renderer). If you experience problems when sending a stream lengthof zero, this setting isn't compatible with your player.
Here are some examples of transcoding combinations:flac:wav
flac:wav24
flac:wav24;192
aac:mp3
mp3:mp3;64k
*:L16
*:wav
*:wav-2GB
dsf:dopwav
dsf:wav24;176
For any input type, you can specify a list of output typesby separating the output types with /
(slash) characters. For example, the transcodingcombination flac:L16/wav24
specifies the output types L16
andwav24
for the input type flac
. If you do this, the control point willchoose one of these output types based on the capabilities of the renderer. If you want toinclude the original untranscoded stream as one of the choices for the control point, you can usethe -
(dash) character as one of the output types in the list.
Note: For a network stream whose original type is unspecifiedand is not transcoded using the '*' input type,the choice of output type is made by MinimStreamer (not the control point)when MinimStreamer opens the stream and discovers its type. By default, MinimStreamer chooses the firstoutput type in the list. You can override this default choice by adding a ^
(caret)character after the output type that you want MinimStreamer to choose. For example, the transcodingcombination aac:L16/wav24^
tells MinimStreamer to choosewav24
if it discovers that the network stream type is AAC.
For best sound quality, it is recommended that you use the output sample bit depth that matchesthe maximum capabilty of your music player. For example, if your music player isa Linn DS, the best match is wav24
. Results may vary with different typesof music player.
MinimStreamer performs the transcoding process entirely in memory for bestperformance, and it shouldn't cause performance issues on the server.Transcoding can put additional load on the network because it increases the amountof data streamed from the server to the music player. If you notice any dropoutswhen playing transcoded audio, this is likely to be a network issue rather thana problem with MinimStreamer or your audio player.
Input type filters
Yo use this feature, you need to be running MinimServer 0.8.4 update 92 (or higher) andMinimStreamer 0.6 (or higher).
You can use input type filters to apply transcoding to specific sample rates, bit depths or bit rates forlocal files (not network streams). To do this, you need to add a filter expression after the input type.The filter expression is enclosed in parentheses and is in one of the following formats:(
samplerate)
(
bitdepth;
samplerate)
(
bitdepth)
(
bitrate)
For an input type of mp3
, the filter is specified as (
bitrate)
where bitrate can be 48k
(for 48 kbps), 64k
(for 64 kbps),96k
(for 96 kbps), 128k
(for 128000 kbps),192k
(for 192 kbps), 256k
(for 256000 kbps)or 320k
(for 320 kbps).
For an input type of aac
, the filter is specified as (
samplerate)
where samplerate can be 44
(for 44100 Hz), 48
(for 48000 Hz),88
(for 88200 Hz), 96
(for 96000 Hz),176
(for 176400 Hz), 192
(for 192000 Hz),352
(for 352800 Hz) or 384
(for 384000 Hz).
For an input type of dsf
or dff
, the filter is specified as (
samplerate)
where samplerate can be 64
(for DSD64),128
(for DSD128),256
(for DSD256),512
(for DSD512)or 1024
(for DSD1024).
For an input type of alac
, flac
or mp4
, the filter isspecified as (
samplerate)
or (
bitdepth)
or (
bitdepth;
samplerate)
where samplerate can be 44
(for 44100 Hz), 48
(for 48000 Hz),88
(for 88200 Hz), 96
(for 96000 Hz),176
(for 176400 Hz), 192
(for 192000 Hz),352
(for 352800 Hz) or 384
(for 384000 Hz) andbitdepth can be 16
(for 16-bit samples), 24
(for 24-bit samples)or 32
(for 32-bit samples).
Here are some examples of input type filters:mp3(256k)
aac(48)
dsf(128)
flac(96)
alac(24;192)
flac(16)
You can specify a range of values by preceding the filter expression witha less than sign (<
) or a greater than sign (>
). For example, you can use theinput type filter flac(>16;48)
to select all FLAC files witheither a bit depth greater than 16 or a sample rate greater than 48000 Hz.
You can specify any number of filtered transcoding settings for an input typeand you can also specify an unfiltered transcoding setting for the same input type.For example, the following combination is valid:flac:wav, flac(>24;192):wav, flac(16;44):wav24;96
The filtered transcoding settings are processed first and are checked for a matchin the order that they appear in the stream.transcode
property.If there is no match, the unfiltered transcoding setting (if any) for the input type is used.
Stream converter program
For many transcoding combinations, a stream converter program is required.You can use either the ffmpeg
program or the avconv
program as the stream converter program.The ffmpeg
or avconv
binary executable (ffmpeg.exe
or avconv.exe
on Windows) must be installed on thecomputer or NAS that is running MinimServer and MinimStreamer.
The stream converter program can be installed in one of the directories used by the operating system tolook for installed programs (as specified by the PATH environment variable). Some NAS devices (for example, Synology and QNAP)do this automatically as part of the NAS firmware.
Alternatively, you can download a static binary executable for the ffmpeg
oravconv
programand install it in the MinimServer opt/bin
directory (see below).
For some platforms (currently only Melco), MinimServer provides an extension packagecontaining the ffmpeg
stream converter program. The ffmpeg
program in this package has beenconfigured to contain only those audio decoders and encoders that are used by MinimStreamer.If this package is available for the platform you are using torun MinimServer, you can see it in the 'Available packages' list on the Packages tabof the Properties window. To install this package, select it and click Install, then follow the prompts to complete theinstallation. When the installation has completed successfully, click Relaunch.
When MinimStreamer starts, it looks for the stream converter program in the following locations:
- An installed package. If there is an installed package containing the
ffmpeg
program,MinimStreamer sets thestream.converter
property tolibext/*/ffmpeg
. - The MinimServer
opt/bin
directory (see below). If MinimStreamer finds the stream converter programin this location, it sets thestream.converter
property toopt/bin/ffmpeg
oropt/bin/avconv
. - The PATH environment variable. If MinimStreamer finds the stream converter program in this location, it sets the
stream.converter
property toffmpeg
oravconv
.
You can override the above search by installing a binary executable for the ffmpeg
oravconv
programanywhere on the computer or NAS that is running MinimServer and setting the stream.converter
property to theabsolute path of this ffmpeg
or avconv
program.If you don't want MinimStreamer to use a stream converter program, you can set thestream.converter
property to the special value none
If you are installing the stream converter program in the MinimServer opt/bin
directory,the location of this directory depends on the platform you are using to run MinimServer, as follows:
- On Windows, the full path to the
opt/bin
directory isC:Usersyour-user-nameAppDataRoamingMinimServeroptbin
The AppData directory is hidden by default in Windows Explorer and you can access it bytyping this path in full into the Windows Explorer address bar. - On Mac, you can find the
opt/bin
directory in the folder/Users/your-user-name/Library/MinimServer
- On Linux, the
opt/bin
directory is in theminimserver
directory in the<minim-home>
directory where you installed MinimServer - On a Synology NAS, the
opt/bin
directory is in theMinimServer
shared folder - On a QNAP NAS running MinimServer 2 [NEW], the
opt/bin
directory is in theMinimServer
shared folder - On a QNAP NAS running MinimServer 0.8, the full path to the
opt/bin
directory is/share/HDA_DATA/.qpkg/MinimServer/opt/bin
on single-disk models or/share/MD0_DATA/.qpkg/MinimServer/opt/bin
on multidisk models - On an ASUSTOR NAS, the
opt/bin
directory is in theMinimServer
shared folder - On a NETGEAR ReadyNAS, the full path to the
opt/bin
directory is/etc/frontview/addons/bin/MINIMSERVER/opt/bin
Flow control
If you have enabled MinimServer flow control by setting the flowControl
option of theserverOptions
property (see this section),MinimStreamer applies this flow control setting when transcodinglocal files or network streams and using an output type of wav
, wav16
,wav24
, L16
, L24
or dopwav
.
For example, ifa FLAC file with 2 channels, a sample rate of 44100 Hz and a bit depth of 16 bits istranscoded using the stream.transcode
setting flac:wav24;192
, the streamingdata rate is 2 x 192000 x 24 = 9216000 bits per second (1152000 bytes per second) and a flowControl
setting of 2x
would apply a maximum output streaming data rate of 2 x 1152000 bytes per second (2304000 bytes per second).
If an AAC radio stream with a bit rate of 320 kbps, 2 channels and a sample rate of 48000 Hz istranscoded using the stream.transcode
setting aac:wav
, the streamingdata rate is 2 x 48000 x 16 = 1536000 bits per second (192000 bytes per second) and a flowControl
setting of 2x
would apply a maximum output streaming data rate of 2 x 192000 bytes per second (384000 bytes per second).
Making recordings
You can record any network stream that is routed via MinimStreamer.
Note: Before recording a stream, check that the copyrightlicense terms for the stream permit this.
To start a stream recording, click Properties from the minim iconmenu and select the System tab of the properties dialog. Add the stream IDto the stream.record
property and click OK. A message isdisplayed in the log window confirming that a recording for the stream has started.You can add either a single stream ID or multiple stream IDs separated by commas.
To start another stream recording while a recording is in progress, select the System tabof the properties dialog. Add the new stream ID to the stream IDsalready present in the stream.record
property and click OK. A message isdisplayed in the log window confirming that a new recording has started.
To stop a stream recording, select the System tab of the properties dialog. Remove thestream ID from the stream.record
property and click OK. A message isdisplayed in the log window confirming that the recording has stopped.
To schedule a stream recording to start later, select the System tab of the properties dialog.In the stream.record
property, add a scheduled recording task using the format
+
start-timeSynology Minimserver
-
end-timeMinimserver 2 Review
Either or both of the start and end times can be specified. These times are specifiedin hhmm format using a 24-hour clock. For example, to start recording the streammystream at 1930 (7.30 pm) and stop the recording at 2130 (9.30 pm), you would specify
mystream+1930-2130
To schedule a daily repeating recording, use the suffix *
after the recordingtask start and end times. For example, to start recording the stream mystreamat 1930 (7.30 pm) every day and stop the recording at 2130 (9.30 pm) every day, you would specify
mystream+1930-2130*
Recording files are saved in the rec
subdirectory of the MinimServer logdirectory. You can change the location of this directory using the.logFile
property on the System tab. Recording files are named witha combination of the stream ID and the start date and time of the recording.
You can start or stop recording a stream while you are listening to it, and you canstart or stop listening to a stream while you are recording it. You can listen toa stream while you are recording another stream, subject to the available bandwidthof your network connection.
If a stream is being transcoded as well as recorded, the original format of the stream iswritten as the recording, not the transcoded format.
Streaming options
You can use the stream.options
property to customize some streaming settings.These settings are separated by commas and each setting is of the form:
name=
value
If any option setting contains a comma, the string that contains the comma must be enclosed in double-quote ('
) charactersto prevent MinimStreamer treating the comma as the end of the current option setting and the start of thenext option setting in the stream.options
string. For example, double quotes are required for thefollowing option setting:convOut=
-lavfi
'afade=d=10,aecho=delays=20'
The following options are available:
convOut | A string containing additional output options to be passed to the stream converter program when performingtranscoding. For example, if you want ffmpeg to use libsoxr for resampling and libsoxr isinstalled, you can specify convOut=-af aresample=resampler=soxr Note: If you want to use stream converter options when streaming FLAC files, the transcoding output type must be followed by a semicolonto force the use of a stream converter program. For example, the settings The arguments in the output options string are separated by spaces. If an argument contains a space, the argument must be enclosed indouble-quote ( |
delayHLS | The number of seconds to delay an HLS or MPEG-DASH internet stream relative to MinimStreamer's defaultsetting. For an HLS stream, the delay value can be a positive integer or a negative integer.For an MPEG-DASH stream, negative values are ignored. For example, toincrease the stream delay by 20 seconds, you can specify delayHLS=20 Increasing this delay puts more data into the renderer's buffer and might help to reduceproblems if your local network or internet connection is subject to heavy traffic or interruptions.Reducing this delay puts less data into the renderer's buffer and might causedropouts if data from the network stream server is delayed for any reason. |
streamSize | This option is used to enable playing a network streamof unknown size (for example, an audio broadcast stream) using a control point or renderer thatrequires a known stream size. It isn't used for a network stream of known size(for example, an audio file streamed from a web server).The size can be specified in bytes as an exact value orit can be specified as kilobytes (KB), megabytes (MB) or gigabytes (GB).For example, to specify a stream size of 100 MB, you can specify a value of100MB .If you specify a streamSize value of 2 GB or 4 GB, the stream size is one byte less thanthe specified value to prevent 32-bit integer overflow or underflow.[NEW] If a stream of unknown size is being transcoded to WAV and the WAV transcode size limitspecified in the |
preBuffer | The amount of audio data to be read into memory beforestarting to stream audio data to the renderer. Prebuffering is applied only when transcoding a FLAC fileto WAV, L16 or L24 format or when transcoding a DSF or DFF file to DoP/WAV format. This optionmight be useful if the renderer doesn't play the stream smoothly when it first starts.The time taken to fill the buffer might cause a slight delay before audio starts playing. The value is the number of seconds of audio data (5 seconds or less) to be prebuffered.It is specified as a decimal number with no more than 3 digits after the decimal point (millisecond precision).For example, you can specify ' |
dash.mp4aac | If set to aac (the default value), MPEG-DASH fragmented MP4/AAC streams are sent to the renderer inADTS/AAC format. If set to mp4 , MPEG-DASH fragmented MP4/AAC streams are sent to the renderer infragmented MP4/AAC format. |
dash.mp4flac | If set to flac (the default value), MPEG-DASH fragmented MP4/FLAC streams are sent to the renderer inFLAC format. If set to mp4 , MPEG-DASH fragmented MP4/FLAC streams are sent to the renderer infragmented MP4/FLAC format. |
Convolution filtering
MinimStreamer can use FFmpeg to apply a Finite Impulse Response (FIR) convolution filter to an audio file or network stream.FIR convolution is often used to apply room correction to an audio stream.
To use convolution filtering, the stream.transcode
property must be set to a value thattranscodes the audio file or network stream using FFmpeg as the stream converter. See the Transcodingsection for details of how to do this.
Note: If you want to use convolution filtering when streaming FLAC files, the transcoding output type must be followed by a semicolonto force the use of a stream converter program. For example, the settings flac:wav
and flac:wav24
don't use a stream converter program, so convolution processing will not be performed.
The ffmpeg
binary executable in the stream.converter
propertymust be version 3.4 or higher. For best results, version 4.1 or higher is recommended.
Note: If you are running MinimServer on a Synology or QNAP NAS, the default system ffmpeg
binary executable might be an older version that doesn't support this capability. In this case, you need to installa later version of the ffmpeg
binary executable and update the stream.converter
property to point to this version.
To enable convolution filtering, set the stream.options property toconvOut=-i
filter-file-path
-lavfi
filter-chain
where filter-file-path
is the fully-qualified absolute path for your convolution filter fileand filter-chain
is a filter chain containing afir
followed optionally by any valid optionssupported by FFmpeg for the afir
filter. For example, if you specifyconvOut=-i
/home/myuser/myfilter.wav
-lavfi
afir
FFmpeg uses the afir
filter with the convolution file /home/myuser/myfilter.wav
and no afir
options.
Applying a convolution filter can reduce the volume of the convolved audio stream. If this is a problem, you can useafir
filter options (only with FFmpeg 4.1 or higher) to increase the gain of the convolution filter.For example, if you specifyconvOut=-i
D:filterdirfilterfile.wav
-lavfi
afir=gtype=gn
FFmpeg uses the afir
filter with the convolution file D:filterdirfilterfile.wav
and the afir
option gtype=gn
. This should produce suitable volumes for all input file formats.
The coefficients in the convolution filter file are computed based on a specific sample rate, so different sample ratesrequire different convolution filter files. This can be specified by using a 'wildcard pattern' for the convolution filterfilename. For example, if you specifyconvOut=-i
/home/myuser/conv*.wav
-lavfi
afir
MinimStreamer looks for all files matching the wildcard pattern conv*.wav
in the/home/myuser
folder and selects one of these files as the convolution filter based on the sample rate of theinput audio file or audio stream. If no exact match is available, the convolution filter with the nearest sample rate is used.If the sample rate of the convolution filter file doesn't exactly match the sample rate of the audio file or audio stream,FFmpeg automatically resamples the convolution filter to match the sample rate of the audio file or audio stream.
If you are using transcoding to change the sample rate or bit depth of the audio file or audio stream, convolution filtering is performed prior to transcoding.This means that the sample rate of the convolution filter is selected based on the original sample rate of the audio file or audio stream, not thesample rate that results from transcoding.
In order to perform convolution processing on an audio file in DSF format, the file must be transcoded to PCM using the stream.transcode
property in order forconvolution processing to be performed. The process of transcoding and convolving has three stages.In the first stage, the DSD audio in the DSF file is transcoded to a PCM audio stream with a bit depth of 32 bits and a sample rate of 352800 Hz.In the second stage, a convolution filter with a sample rate of 352800 Hz is applied to this PCM audio stream.In the third stage, if the specified output format in the stream.transcode
property is something other than32/352800, a further transcoding step is applied to the convolved audio stream.