User Guide
Aus Ultimate Media Collector (UMC) - Wiki
General
UMC is a application which you can use to scan and manage your media library. It gives you a lot of configuration possibilities so you can exactly decide which information you need and how UMC should collect this information. Based on the collected information UMC will also create a NMT compatible so called jukebox (in the UMC world a frontend/mediacenter).
So on the one hand we have a Java application called UMC (Ultimate Media Collector) running on any computer with an installed Java Runtime Environment (>= 1.6) and on the other hand we have a frontend/mediacenter also called UMC (Ultimate Media Center).
IMPORTANT INFROMATION
Please note that this user guide is not yet finished and some information is still missing.
But we are working on it and from day to day we're trying to add more information.
The Way UMC collects data with scraper plugins
This chapter will inform you about the way UMC collects data with the given plugins and some technical details regarding the UMC scanning process.
MovieDB-Settings
Since V2.0 it is possible to define multiple plugins in the scraper settings. The selected plugins in the "Plugins" field will be subsequently processed during scan until all needed information has been collected. This list defines the priority of the scraper plugins so we are speaking about the scraper priority list.. Please note that UMC will not guarantee to use all defined scraper plugins from this priority list. If UMC collected for example with the first defined scraper plugin from this list all needed data there is no need anymore to use the following plugins. There are also scraper plugins available which can't collect all needed information -> for example the AlloPcIne plugin which will not collect the rating. As a French UMC user it's advisable to define on first position the AlloPcIne plugin followed by the IMDB plugin.
Default Plugins
A special feature is the use of so called default plugins. If you would like to collect some movie attributes like the rating for example with a certain plugin you can select for this attribute a default plugin.
The value for this attribute will now be always collected by UMC with the selected plugin even if it's also defined in the priority list on the last position.
If the standard plugin could not get the needed value maybe while the searched movie has not been found on the online source UMC will assign the value collected by the first plugin from the priority list.
Example:
a user defines in his priority list the plugins IMDB and TheMovieDB (in this sequence). As default plugin for the rating he selects the plugin TheMovieDB.
Now the rating will always be collected by the plugin ThemovieDB even if the IMD plugin from the priority list has the highest priority.
Languages
UMC can be configured to use up to four different languages for the movie information. The frontend/mediacenter will let you switch easily between the defined languages.
For each language you can define any plugin priority list and default plugins.
Please note that already initialized plugins during scan will stay initialized for all following languages. The movie id will not be determined each time.
This is particularly the behavior for the IMDB plugin.
Example:
if you provide for example a id (for a movie in a xml or nfo file) for the first plugin of the priority list of language 2, this id will not be used because the IMDB plugin has been already initialized in language 1.
The UMC Scanning Engine
at the moment this chapter is only available in German -> English translation will follow as soon as possible
Zu Beginn verwendet UMC das IMDB-Plugin zur Ermittlung sprachunabhängiger Daten (Produktionsjahr, beteiligte Personen, Filmstudios, Originaltitel).
Hierzu muss das IMDB-Plugin auf den richtigen Film gesetzt werden. Dieser Vorgang wird im Folgenden "Initialiserung" genannt.
Die Initialisierung geschieht über drei Möglichkeiten, geordnet nach Priorität:
- Hat der User z.B. per XML eine IMDB-ID hinterlegt wird diese zum setzen des richtigen Films verwendet.
- Der User hat eine Film-ID eines anderen Plugins hinterlegt, welches ZUM ZEITPUNKT DER INITIALISERUNG geladen ist. In der Regel ist dies das erste Plugin in der Prioritätsliste. (Nur in wenigen Ausnahmesituation, z.B. wenn alle Initialisierungsversuche fehlschlugen und kein Titel bei IMDB ermittelt wurden konnte, werden die nachfolgenden Plugins der Prioritätsliste auf eine hinterlegt ID untersucht.) Es wird nun versucht anhand dieser Plugin-ID auf die IMDB-ID zu schließen. Manche Filmdatenbanken, wie z.B. OFDB unterstützen die direkte "Konvertierung" von OFDB-ID auf IMDB-ID, da die IMDB-ID neben den Filminformationen in der Datenbank hinterlegt ist. Viele Plugins bieten diese Möglichkeit nicht. In diesem Fall wird der, bei der entsprechenden Datenbank hinterlegte, Filmtitel verwendet um eine direkte Titelsuche bei IMDB auszuführen.
- Wurde keine ID hinterlegt oder die Suche wie unter 2) beschrieben brachte keinen Erfolg, erfolgt eine direkte Suche des Titles bei IMDB. Hierfür wird der bereinigte Dateiname des Films verwendet. Ein großer Vorteil hierbei liegt, dass sich die Suche von Filmen über IMDB am ausgiebigsten erwies. Während nationale Filmarchive den Film meist nur durch eine Suche mit dem nationalen Titel korrekt ermitteln, kennt IMDB ebenso internationale Filmnamen.
- In dem unwahrscheinlichen Fall, dass das IMDB-Plugin noch immer nicht initialisiert werden konnte, erfolgt eine Suche über die in der Prioritätsliste definierten Plugins. Über die so ermittelten Titel wird nun erneut bei IMDB gesucht. Wurde für die entsprechenden Plugins eine ID hinterlegt, so wird diese zum Ermitteln der Titel verwendet. (siehe 2))
Nach der Initialisierung des IMDB-Plugins wird nun das erste Plugin aus der Prioritätsliste verwendet und ebenfalls initialisert.
- Wenn eine ID des Films für das Plugin verwendet wurde, so wird diese zur Initialisierung verwendet.
- Wurde keine ID hinterlegt, so erfolgt eine Suche anhand des durch IMDB ermittelten Filmtitels und Produktionsjahres.
- Es erfolgt eine Suche über den bereinigten Dateinamen des Films.
- Als letzter Versuch wird über IMDB ein Alternativtitel ermittelt, über den gesucht wird.
Führte kein Initialisierungsversuch zum Erfolg wird das Plugin übersprungen und das nächste aus der Prioritätsliste gewählt.
Über das initialisierte Plugin werden nun sprachspezifische Daten (der lokale Filmtitel, die Story, Genres, Produktionsländer und Ratings) ermittelt sowie die Film-ID des Plugins gespeichert.
Schlug das ermitteln einer Information fehl, so wird das nächste Plugin aus der Prioritätsliste gewählt, initialisiert und versucht die Daten mit diesem zu ermitteln.
IDs
at the moment this chapter is only available in German -> English translation will follow as soon as possible
Möchte man Film-IDs (z.B. durch XML-Dateien) hinterlegen, so empfiehlt sich die Nutzung von IMDB-IDs und/oder IDs des ersten Plugins in der Prioritätsliste der ersten Sprache.
IDs für niedriger priorisierte Plugins, sowie für Plugins in zusätzlichen Sprachen haben in der Regel keinen Einfluss mehr auf das Scanverhalten, können jedoch dazu dienen kleinere Fehler im Scanvorgang zu beheben. (Siehe hierzu die Abschnitte "Wie scannt UMC?" und "Sprachen")
The Way UMC assigns data to media files
UMC supports three ways of assigning information to your media files. This list shows also the priority!
- use of the UMC Tag System
- Keywords in the original filename
- use of XML/NFO files
- use of UMC MovieDB plugins
Please read the next chapters to learn more about each feature.
The UMC Tag System
AVAILABLE IN BUILD 003 - If you think that assigning information to movies while using special xml/nfo files is not the best way to do it we thought about a new way to be more flexible. So we designed the so called UMC Tag System.
Available Tags
At the moment these tags are supported by UMC (there will be more available with each new version)
- {imd=}
- {ofdb=}
- {genre=} -> comma-separated
- {imdb=tt3943294|genre=} => concatinate by using |
How it works
You can define in each movie filename special patterns which will be recognized by UMC.
Your movie file is named
- Terminator - 720p{imdb=tt647}.mkv
- Terminator - 720p.mkv
or
This is the same movie. The only difference is that you have defined the "imdb" tag in the first version. UMC will assign this value to the movie so in the further process UMC will grab for this given IMDB ID all needed information from IMDB.
If you have for this movie also a local backdrop the backdrop file has to be named this way
Terminator - 720p[Backdrop].jpg
If your movie is named like the first example (Terminator - 720p{imdb=tt647}.mkv) there is no need to add the tag definition also to the backdrop filename!
UMC Keywords
UMC will try to detect certain keywords like 720p or 1080p in the original filename to assign automatically the correct value to the appropriate attributes of the movie job.
Keywords at the moment available:
- 720p (case-insensitive)
- 1080p (case-insensitive)
UMC XML Files
UMC supports some special xml files for creating groups for example or to assign requested values to a certain movie.
At the moment there seems to be a problem with the group xml files. It is necessary that the sequence of the tags in each xml file are in the correct sequence defined by the xml schema (but we are going to change this). If you have a wrong sequence in a file this file will not pass the validation check in UMC and so the file won't be used.
It seems that group xml's generated by UMC XML Commander for example have the <sort> tag on the wrong position.
Attention
ampersands (&), less than signs, (<), or quotation marks (") are forbidden in XML. You may use the escaped characters such as &, <, or " if you must include those forbidden characters.
Like in HTML you need to format those characters in a special way. The five characters &, ', <, > and " have to be defined like in HTML:
- &
& - '
' - <
< - >
> - "
"
UMC Movie XML
<?xml version="1.0" encoding="UTF-8"?> <movie xmlns="http://www.umc-project.de/xmlbeans"> <!--language configuration for german movie information--> <language id="de"> <plugin type="ofdb" id="182" /> <plugin type="themoviedb" id="218" /> <plugin type="imdb" id="tt0088247" /> <title>Terminator</title> <plot>Im Jahre 2029 tobt ein Krieg zwischen Menschen und Maschinen. Der Anführer ist John Connor. Die Maschinen schicken daraufhin erneut einen Terminator in die Vergangeheit. Diesmal, um John Connor im Kindesalter zu eliminieren. Geschickt wird ein T-1000, ein nahezu unzerstörbares Nachfolgemodel von einstigen Terminator, der dazu in der Lage ist, Form und Gestalt praktisch beliebig zu verändern.Erneut gelingt es dem Widerstand, einen Beschützer in die Vergangenheit zu schicken: einen Terminator Modell T-800, der an der Seite von John und seiner Mutter Sarah ums Überleben kämpfen muß.</plot> <rating>8.4</rating> <!-- comma-separated genres--> <genre>Action,SciFi</genre> </language> <!--language configuration for english movie information--> <language id="en"> <plugin type="imdb" id="tt0088247" /> <plugin type="themoviedb" id="218" /> <title>Terminator</title> <plot>In the Year of Darkness, 2029, the rulers of this planet devised the ultimate plan...</plot> </language> <year>1992</year> <!-- empty tags mean that no image is defined and UMC will try to download the appropriate images. The images must not be located in one of the configured scan libs. Just check if the defined path is really accessible by UMC! --> <banner></banner> <cover>c:/Bilder/Filme/Terminator haut den Lukas.bmp</cover> <poster></poster> <backdrop>d:/gute Backdrops/Terminator-Triologie.jpg</backdrop> <fsk>18</fsk> <resolution>1208x720</resolution> <cast> <actor> <forename>Arnold</forename> <surname>Schwarzenegger</surname> </actor> <actor> <forename>Linda</forename> <surname>Hamilton</surname> </actor> </cast> <!-- Here you can define 1-n audio tracks for different languages --> <audio> <track> <language></language> <codec></codec> <bitrate></bitrate> </track> </audio> <trailer> <path>C:\Movies\Terminator-Teaser1.avi</path> <path>C:\Movies\Terminator-Teaser2.avi</path> </trailer> </movie>
YAMJ Movie NFO
If UMC finds a YAMJ movie nfo for a scanned movie UMC will create the appropriate UMC movie xml for this file and use it.
Group XML
<?xml version="1.0" encoding="UTF-8"?> <group xmlns="http://www.umc-project.de/xmlbeans"> <title>Terminator</title> <!-- Empty image tags means that these are not defined and so they will be downloaded by UMC. The images need not be in any defined scan lib. --> <banner></banner> <cover>c:/Bilder/Filme/Terminator haut den Lukas.bmp</cover> <poster></poster> <backdrop>d:/gute Backdrops/Terminator-Triologie.jpg</backdrop> <!-- Sorting For year -> year Sequence of the movie tags in this file -> xml --> <sort>xml</sort> <!-- The members must be located in one of the defined scan libs. --> <members> <movie>c:/videos/Terminator.avi</movie> <movie>d:/neue Filme/Terminator2.avi</movie> <movie>e:/Archiv/SciFi/Terminator3.avi</movie> </members> </group>
UMC Series XML
The series xml processing still needs some missing features.
<?xml version="1.0" encoding="UTF-8"?> <series xmlns="http://www.umc-project.de/xmlbeans"> <id_thetvdb></id_thetvdb> <!--for each desired language a language block can be defined--> <language id="DE"> <title>Die Simpsons</title> <plot></plot> </language> <language id="EN"> <title>The Simpsons</title> <plot></plot> </language> <rating>10</rating> <!-- 1-n audio tracks --> <audio> <track> <language></language> <codec></codec> <bitrate></bitrate> </track> </audio> <genre>Comic,Animation</genre> <year>1992</year> <cast> <actor> <forename></forename> <surname></surname> </actor> <actor> <forename></forename> <surname></surname> </actor> </cast> <resolution>1280x720</resolution> <banner>c:/Fanart/Series/Simpsons_Cover.jpg</banner> <cover>c:/Fanart/Series/Simpsons_Cover.jpg</cover> <backdrop>c:/Fanart/Series/Simpsons_Backdrop.jpg</backdrop> <seasons> <!-- SEASON 1 --> <season> <nr>1</nr> <language id="DE"> <title>In dieser Staffel...</title> <plot></plot> </language> <language id="EN"> <title>In this season....</title> <plot></plot> </language> <!-- Hier können 1-n Tracks für unterschiedliche Tonspuren definiert werden --> <audio> <track> <language></language> <codec></codec> <bitrate></bitrate> </track> </audio> <banner>c:/Fanart/Series/Simpsons_Banner1_Cover.jpg</banner> <cover>c:/Fanart/Series/Simpsons_Season1_Cover.jpg</cover> <backdrop>c:/Fanart/Series/Simpsons_Season1_Backdrop.jpg</backdrop> <!-- SEASON 1, EPISODE 1 --> <episode> <nr>1</nr> <language id="DE"> <title>Homer denkt ers ist...</title> <plot></plot> </language> <language id="EN"> <title>Homer thinks he is....</title> <plot></plot> </language> <!-- Hier können 1-n Tracks für unterschiedliche Tonspuren definiert werden --> <audio> <track> <language></language> <codec></codec> <bitrate></bitrate> </track> </audio> </episode> </season> </seasons> </series>
YAMJ Series NFO
YAMJ series nfo is currently not supported by UMC
UMC Scraper Plugins
At the moment (12.08.2010) UMC contains seven scraper plugins for collecting movie/series information from online sources (fanart is collected with the so called Fanart plugins). The general scraper configuration is descriped in the chapter [The Way UMC collects data with scraper plugins]
IMDB
Purpose: used to collect movie information
Supported languages: EN,DE,ES,FR,NL
Description: TODO
OFDB
Purpose: used to collect movie information
Supported languages: DE
Description: TODO
TheMovieDB
Purpose: used to collect movie information
Supported languages:</b> DE,EN,FR,NL,ES
Description:</b> TODO
TheTVDB
Purpose: used to collect series information
Supported languages: DE,EN,FR
Description: TODO
AlloPcIne
Purpose: used to collect movie information
Supported languages: FR
Description: TODO
Moviemeter
Purpose: used to collect movie information
Supported languages: NL
Description: TODO
SensaCine
Purpose: used to collect movie information
Supported languages: ES
Description: TODO
The Way UMC assigns fanart to media files
Local fanart
UMC fanart plugins (online)
At the moment (12.08.2010) UMC contains ......
TV Show scanning priority
Here's a description about the TV-show-strategy:
The TV-show-scanner tries to determine the name of the tv show in this order:
1. Contains the path to the tv-show-file the pattern "[Series]"? If yes, the name of the tv-show is the part left of [Series].
Example: .../The Simpsons[Series]/bla/blub/onefile.avi
2. There's a directory starting with the pattern "Season", "Staffel" or "Special" --> The name of the TV show is the name of the folder above the Season-folder!
Example: .../The Simpsons/Season 1/blub/onefile.avi
3. There's a Seriespatter in the filename (SxxExx or SxE). If there's sometingh in front of this pattern --> This is the tv-show-name.
Example: .../TV-Shows/The.Simpsons.S01E01.avi
4. If no above case matches, UMC will use the folder above the file as the filename.
Beispiel: .../Serien/The Simpsons/S01E01.avi
In every of these examples UMC will extract the TV-show-name "The Simpsons"!
TV shows can use the pattern SxxExx and in other variations, S01E01, S1E1, S01E01E02E03, S01E01S02E01 is both possible, too.
The SxEE pattern is possible, too, in comparison to the above example: 01x01, 1x1, 01x01x02x03 (but only one season per file!)
These pattern are case-sensitive! s01e01 will not work!
How to create movie groups
Start a new project
Before UMC is able to scan your media files it is necessary to tell UMC what kind of media shoudl be scanned, where it can be found and some other important information. The easiest way is to use the UMC wizard. The wizard will ask you for the most important values. Nevertheless if you want full control of all configuration aspects visit the Configuration area of UMC (will be covered in a separate chapter).
The UMC Wizard
The UMC Configuration
Scan has finished what's next?
After you decide to start scanning wait until the scan has finished. After the scan you will be automatically redirected to the 'Manage' area where you will find all previously scanned movies, photos and music.
New added movies/series/groups in a scan are flagged as "new". So you can verify them in the JavaGUI in the manage-area that all data for that movie is ok. The flag "new" is reset if you verify the movie manually or if you "lock" the movie. You can filter the new added movies/series/groups in the tree. If you are running UMC as service, all new movies/series/groups are locked automatically and you don't have to verify them.
You can now start for example to edit several attributes for a movie if you think the assigned information is not correct or you would like to have some special information in certain fields.
Managing Media
Manage Movies
Edit the title
Edit the year
Edit the original title
Edit the directors
Edit the rating
Edit the runtime
Edit the genres
Edit the countries
Edit the persons
Edit the plot
Edit the cover
Edit the backdrop
Other ways of editing movies
As you have seen in the previous chapters there are several ways to edit a movie. But UMC also provides some special plugins which extend the gui with several functionality. Using this plugins can speed up the process of adjusting wrong values.
Grab the correct movie information with special plugins
| In this case the grabber plugin OfdbGrabber (for german movie information) will be used. |
Change the current fanart
Use drag'n drop
You can simply assign for example a new cover or backdrop to a movie while using drag'n drop.
Use the plugin 'FanartGrabber'
| After all fanart has been downloaded you can exit the plugin by clicking on Ok. |
Manage Series
Manage Music
Manage Photos
Manage Genre
Manage Persons
Manage Tags
Creating PDF Reports
| From version 2.0.8 on you can use the PDF feature again. This means that UMC will create after each scan a actual pdf report of all your media and store it under the subfolder reports in the UMC application directory. |
Synchronisation between Frontend and Java GUI
Starting from UMC version 2.0.8 on the UMC Sync feature will be available
UMC will store most of the data/information in a database. Both, the Java GUI as well as the UMC frontend will communicate with the database to retreive or store data. Due to the fact that the user can manipulate data on the frontend as well as on the Java GUI side it is necessary to synchronize these two database before each scan so data manipulated int he frontend will not be overwritten by data manipulated in the Java GUI.
The UMC synchronization feature will help you to to solve this problem.
The sync feature will try to copy always during startup of UMC the database from your frontend folder to the UMC app folder. This happens only in some cases automatically.
Cases
You start UMC with a default config
You will see the sync dialog which will ask you to select from where the frontend will be started in the future (you can click on the USB or the HDD button).
You start UMC with a old config where the configured frontend path is located under the UMC root folder
In this case you will also see the sync dialog which will ask you to select the appropriate frontend folder so the database can be copied from or you can choose to start with a new clean database. If you let UMC create the frontend in the root UMC folder you will always see the sync dialog on startup because in this case a user would normaly copy the frontend from this location to a USB device or to a internal hdd on the NMT so the user has to tell UMC where the frontend is located.
You start UMC with a old config where the configured frontend path is not located under the UMC root folder but this path is not accesible
You will see the sync dialog with some information what you can do.
You start UMC with a old config where the configured frontend path is not located under the UMC root folder
Please ensure in this case that you have used a path showing to your NMT (you let UMC create the frontend directly on the NMT and not on any local path on the computer running UMC). This is the best and prefered way for the UMC sync feature. After the scan has finished and you restart UMC the sync feature will try to access the frontend path and copy automatically the database to the UMC root folder (without any dialog).
Examples
Assumption 1 - UMC frontend/mediacenter on USB
Let's say you are going to store the generated UMC frontend/mediacenter on a USB device.
- start a new UMC installation
- the sync dialog will appear asking you to decide where you are going to start the frontend from (select USB)
- wait until UMC comes up and create a new configuration by starting the wizard or setting all needed options in the configuration area
- if you set up everything to match your needs, start a scan and wait until the scan has finished
- after the scan you will find the generated frontend/mediacenter under the configured outputpath in a subdirectory called 'UMC' or directly under the UMC application folder in a subfolder called 'UMC' (if you haven't specified any output path)
- copy the folder 'UMC' (which contains the frontend/mediacenter) to USB device connected to the computer
- wait until all files have been copied to the USB device and afterwards detach the USB device from your computer and connect it to your NMT
- wait until your NMT has initialized the USB device before you navigate to this source and select the file umc.phf from the previously copied 'UMC' folder to start the frontend/mediacenter
TODO

















