From the version 5, UMS has a device-specific configuration feature that works like so:
-
Open the device's popup panel in the GUI and press 'Customize':
-
Give the custom configuration a name in the dialog that popup. For instance here we're calling it 'rpi' for Raspberry Pi. This configuration will be saved in your user profile folder inside the 'renderers' subfolder, e.g. in Windows at C:\ProgramData\UMS\renderers\rpi.conf.
-
The new configuration file should open up in your text editor, e.g. Notepad. Add/override any renderer or UMS.conf setting for this specific device, for example here we're changing the icon and transcoding settings:
#----------------------------------------------------------------------------
# Custom Device profile
# See PS3.conf for descriptions of all possible renderer options
# and UMS.conf for program options.
#
# Options in this file override the default settings for the specific XBMC device(s) listed below.
# Specify devices by uuid (or address if no uuid), separated by commas if more than one.
device = uuid:7744ff6c-541f-48a8-0878-05fdebf240db
RendererIcon = C:\ProgramData\UMS\renderers\rpi128.png
TranscodeVideo = MPEGTS-H264-AC3
-
Save this file and the device should update in UMS, with the new overrides in effect. The edit bar will show this new configuration as primary, with the generic 'parent' conf accessible via the button to the left:
UMS is built on two standards - UPnP AV and DLNA. DLNA is a standard built on top of UPnP AV. But, there are so many devices, and they support different parts and versions of either of the standards. As a result, there's a huge variation as to how UMS must communicate with each device type/make/model/version. The way this has been "solved" is using "renderer configuration files". This basically consists of two "parts" - the "identification part" and the "settings part".
The "identification part" contains information that tells UMS how to "recognize" a particular device, so that UMS knows how to use that particular renderer configuration file for this device. The identification isn't always easy to get correct because some devices only supply very generic/ambiguous information, but in most cases there is something specific for that device one can use as a criteria. Any information that is specific for the device type (not serial numbers etc, which will only identify that particular device) is needed. There are two fundamental and independent mechanisms for identification:
- UPnP device details (sent as a part of the UPnP standard, for those that support that)
- HTTP headers - in particular the HTTP User-Agent. The UPnP device details are preferable, because they tend to give the most reliable identification.
Once the identification works (by verifying in the UMS GUI that the correct renderer configuration file is "detected" on the "Status tab", one can start to configure the settings needed to make UMS behave appropriately for that renderer. It's desirable if the starting point is as close to the goal as possible, which is why it's recommended to start out with an existing file. The important part in this context, is what internal/embedded and external subtitles formats are listed as "supported". If the configuration file says that a subtitles format is supported, but they don't show up on the renderer, they probably aren't supported and should be removed from the "supported" setting in the configuration file. UMS will transcode videos that have any "unsupported" aspects, from subtitles to file format, codecs, resolutions etc.
The subtitles and audio language priorities only apply if there are multiple valid choices (*) in the "combined" configuration.
fre,off;*,fre;*,und
What this setting says is: If available, use French audio without subtitles. If French audio isn't available, use ANY (* - which means that the audio language priority comes into play) audio language with French subtitles. If no French subtitles are available, use ANY audio language with subtitles whose language hasn't been detected.
- Next: How to change to TRACE logging
- Previous: Pushing media to a renderer
- Top: Index