Changes Media Server 2.1.5

Changes Media Server 2.1.3

Changes Media Server 2.1.2

Changes Media Server 2.1.0

Changes Media Server 2.0.4

Changes Media Server 2.0.3

Changes Media Server 2.0.2

Changes Media Server 2.0.0

Changes 1.33.2 Beta

Changes 1.33.1 Beta

Changes 1.33.0 Beta

Changes 1.32.0 Beta

Changes 1.31.0 Beta.

Changes 1.30.1 Beta

Changes 1.30 Beta


Changes Media Server 2.1.5

[Channels]

562954315180093=Das Erste HD

562954314656614=ZDF HD

562954315180094=arte

1 = add the category to the channel name.

2 = category as group-title tag (only when the category changes).

4 = category as group-title tag for every item.

8 = channel logo URL as tvg-logo tag.

16 = EPG channel ID as tvg-id tag (for XMLTV data).

32 = channel name as tvg-name tag.

64 = channel number as tvg-chno tag.

Previous DMS versions always used 1 (category + channel name). The new default is 0 (channel name only). Example: 2 + 8 + 16 + 32 = 58 adds all tags to M3U items that are usually required for IPTV clients that get the EPG as XMLTV from the Media Server. The tweak applies to M3U channel lists that can be downloaded from the Links page and Media page of the Desktop Web Interface or from the Info page and Live TV section of the Mobile Web Interface (→ swipe a category or channel to the left).

http://[Web Server IP]:[Web Server Port]/channels.m3u

http://[Web Server IP]:[Web Server Port]/transcodedchannels.m3u

http://[Web Server IP]:[Web Server Port]/rtspchannels.m3u

Changes Media Server 2.1.3

Changes Media Server 2.1.2

Changes Media Server 2.1.0



Changes Media Server 2.0.4

The following search preset properties are output by the searchlist API and received as URL query parameters from the searchedit and searchadd APIs. Please note that Boolean values are indicated as integers (0 = false, values <> 0 = true). If parameters are missing the previous value or default remains untouched.

The following properties only apply if AutoRecording is true:

/api/mediafiles.html?audio=1&dirid=10&m3u=1

The new recursive parameter lets the Media Server enumerate all files contained in the specified directory and its sub-directories. Additionally directories are listed if they do not contain media files, but only their sub-directories. Examples:

/api/mediafiles.html?audio=1&recursive=1

/api/mediafiles.html?audio=1&dirid=10&m3u=1&recursive=1


/api/getlogoassignment.html?name=[ChannelName]&id=[EPGChannelID]


If the name and id parameters are both missing or empty the server delivers the current assignment table as plain UTF-8 text. The lines are id=logo filename pairs separated by CR and LF, in the same way as in the file ChannelLogos2.ini. If the channel name is specified the server searches the corresponding channel logo file algorithmically and returns the UTF-8 name. If the EPG Channel ID is specified the server picks the result from its assignment table (faster). If name and ID are specified the server first tries to get the channel logo filename from the assignment table, then in case of failure by algorithmic search and adds the result as new assignment to the table in order to speed up future access. If no logo can be assigned the server returns a hyphen (-). If no logos are available at all the server responds with 404 not found. The logo filename can be used to download the logo with the /logos/[filename] API from the web server. Please note that the logo filename may contain a relative path including backslashes (!) if the file is located in a sub-directory of \Images\Logos\.

Changes Media Server 2.0.3

<tasklist>
 <group name="EPG">
 <task type="0">
 <name>Start EPG Update</name>
 <action>EPGStart</action>
 </task>
 <task>
 ....
 </task>
 </group>
 <group>
 ....
 </group>
 ....
</tasklist>

The task type has the following meaning: 0 = predefined internal task, 1 = user defined process task, 2 = after recording task (user defined, should only be displayed in UIs allowing to create or edit recording timers).

Action is the command that must be sent to the Media Server for executing the task, e.g. /api/task.html?task=EPGStart. For consistency the API also allows to use /api/task.html?action=....

Changes Media Server 2.0.2

Please note that specifying a non-existing audio track may let FFmpeg stop and prevent playback altogether. If the number of available tracks is known (usually in recordings and live streams) the Media Server auto-corrects the track to 0 if it exceeds the maximum. A negative track number lets the Media Server include all available audio tracks. Offering an audio track selection is up to the player. This works with TS, WebM and partly with HLS (the Media Server "all audio tracks" output does not comply with the HLS specifications, only some players are able to handle it).

Changes Media Server 2.0.0

/api/epgclear.html?source=[Sources]

The numeric value [Sources] specifies the to be deleted EPG types as flags that can be or'ed  (1 = DVB EPG 2 = MHW EPG, 4 = External EPG). If [Sources] is not specified the default is all EPG data (currently 7).

/api/sideload.html?[video/audio/photo]=1&dirid=[ID]&file=[filename]

where video=1 (default), audio=1 or photo=1 specify the media type, dirid=[ID] a directory ID retrieved with /api/mediafiles.html and file=[filename] the UTF-8 name of the file that shall be delivered. If [filename] is a mask containing a “*” character the API enumerates all matching files separated by CR/LF as plain UTF-8 text. Thus *.* enumerates all files in the directory. Using a slash or backslash as part of the filename for accessing parent- or sub-directories is not allowed.

/api/sql.html?[video/audio/photo/rec]=1&query=[SQLite query]

where video=1 (default), audio=1, photo=1 or rec=1 specify the database. The access is restricted to “read only”.

The stream is started with 

/api/startts.html?streamid=[unique_name]&chid=....

[unique_name] is a user defined identifier (e.g. the channel name). Additionally an ID specifying the media object (channel, file etc) that shall be transcoded is required. Other parameters are optional. The media server uses defaults if they are missing. The stream is stopped by

/api/stopts.html?streamid=[unique_name]

or by stopping the Recording Service. Clients can access the stream by using the following type of URL

/flashstream/stream.ts?streamid=[unique_name]

No further parameters are required. Please note that transcoded TS streams set up by a client connection can also be accessed by other clients if the URL contains the same stream ID or if the query string (beginning with a question mark) is identical. Please also note that this does not work with WebM and Flash.

fav=0/1: Specifies if the favorites are added at the top of the channel list (if there are any).

favonly=0/1: Specifies if the channel list only contains favorites (if there are any).

Additionally, if the TV and Radio presets are specified by name, the Media Server now uses the iphoneprefs.ini if the name begins with “HLS”, otherwise the ffmpegprefs.ini (containing WebM/Flash/TS presets). If the presets are specified by zero based index, it depends on the user agent. If the Media Server detects Safari or Edge, it assumes that the index refers to HLS presets, otherwise to WebM/Flash/TS presets. However, this can also be controlled by parameter:

hls=0: The index refers to WebM/Flash/TS presets (ffmpegprefs.ini)

hls=1: The index refers to HLS presets (iphoneprefs.ini).

The following example downloads a channel list that only contains TV favorites. The format is HLS, using the second preset in the file iphoneprefs.ini:

http://127.0.0.1:8089/transcodedchannels.m3u?tvpreset=1&hls=1&favonly=1

fav=0/1: Specifies if the favorites are added at the top of the channel list .

favonly=0/1: Specifies if the channel list only contains favorites.

tv=0/1: Specifies if the list contains TV channels.

radio=0/1: Specifies if the list contains radio channels.

Everything not specified by parameters is up to the user settings. Please note that the favorite switches are ignored if there are no favorites. fav and favonly cannot both be 1 (setting one of them to 1 switches the other one off) and tv and radio cannot both be 0 (setting one of them to 0 switches the other one on) The following example downloads a channel list that only contains TV favorites:

http://127.0.0.1:8089/channels.m3u?radio=0&favonly=1

Here are two configuration examples, the first one using a channel id for starting multicast, the second one using Sat>IP syntax (incomplete) for unicast:

http ;//127.0.0.1:8089/rtp/?ip=239.0.0.1&port=5018&chid=2359890840093486438|ZDF

http ;//127.0.0.1:8089/rtp/?ip=192.168.2.112&port=5018&&freq=11494&msys=dvbs2...

PAT and PMT are adjusted to the actual output. The stream is stopped by an URL that specifies the same IP and port. Additional parameters are ignored in this case. So the same URL can be used for switching the stream on/off.

Changes 1.33.2 Beta

Changes 1.33.1 Beta

Changes 1.33.0 Beta

The Recording Service 1.33 provides new APIs for reading settings from the service.xml and enumerating available media files. Additionally existing APIs are extended for accessing favorites and using EPG search capabilities. Read only” API functions that don't change data are now available for guest access. The details:

Remarks: Favorites and channels appear as a contiguous virtual channel list, where favorites are numbered from -NoOfFavorites to -1 and channels from 0 to NoOfChannels-1. The negative favorite numbers can be used in URLs for channel selection (e. g. chid=-1). However, it is recommendable to rather use the channel ID than the index, because the latter may change in future Recording Service versions during runtime.

/api/setting.html?sec=WebGeneral&id=StreamPort&def=7522

The line reads the value from the section sec with the identifier id and returns it as plain text. The def parameter is optional. It specifies a default that is returned if the entry does not exist. If def is not specified the API returns an empty string in this case.

If the options parameter is missing or contains none of the letters TSD, the default is T.

Changes 1.32.0 Beta

Firefox, Chrome, Opera: WebM or Flash (if installed) from the file ffmpegprefs.ini. If no preset is specified the Recording Service uses a WebM preset as default.

IE9, 10,11: WebM (after installing decoders) or Flash (if installed) from the file ffmpegprefs.ini. If no preset is specified the Recording Service uses a WebM preset as default.

Safari under OS-X and iOS: HLS from the file iphoneprefs.ini. In case of OS-X the HLS presets can be optionally replaced by flash presets from the file ffmpegprefs.ini (see Recording Service Options → Web/UPnP -> Flash playback under OS-X), thus reverting to the behavior of previous Recording Service versions.

/api/starthls.html?streamid=[unique_name]&chid=....

[unique_name] is a user defined identifier (e.g. the channel name). Specifying the parameters streamid, chid and preset is mandatory. Other stream configuration parameters are optional. The stream is stopped by

/api/stophls.html?streamid=[unique_name]

or by stopping the Recording Service. HLS Clients can access the stream by using the following type of URL

/upnp/master.m3u8?streamid=[unique_name]

No further parameters are required.

Changes 1.31.0 Beta.

/transcodedchannels.m3u?tvpreset=[preset]&rpreset=[preset]&ffpreset=[ffmpeg preset]&keepres=[h/v/hv]

If tvpreset is specified, the list will contain TV channels. If rpreset is specified, the list will contain radio channels. If both are specified the list will contain TV and radio channels. The presets must be contained in the file ffmpegprefs.ini and can be referenced by (section) name (see below) or by index. The index of the first entry in the file is 0. The parameter ffpreset is optional and specifies one of the ffmpeg presets like medium or fast. The default is ultrafast. The parameter keepres (see below) is also optional. The default is h.

The source aspect ratio indicated by video headers is kept in any case. If keepres is used, the old aspect parameter is ignored.

Changes 1.30.1 Beta

Changes 1.30 Beta