Decorum for the Forum:
  • Be nice. If you want to be mean, try Reddit.
  • No Piracy. If you want to be a thief, there are dark places on the internet dedicated to that.
  • No Cracking. Discussions on AnyDVD, DeUHD, DVDFab, UHDKeys and similar tools are not permitted here.
  • No Spamming. If you want to make a buck, work smarter... somewhere else.
  • No Adult Content. Half the internet is dedicated to adult content. This half isn't.

Privacy Policy: Click Here to Review (updated September 30, 2020)

1 - Introducing CMC Metadata Exporter (CME)

How-To and general support for the CMC Metadata Exporter (CME) which exports My Movies data via the My Movies API.
Post Reply
User avatar
Pauven
Posts: 2777
Joined: Tue Dec 26, 2017 10:28 pm
Location: Atlanta, GA, USA
Contact:

1 - Introducing CMC Metadata Exporter (CME)

Post by Pauven » Thu May 23, 2019 10:11 am

What is CMC Metadata Exporter?
CMC Metadata Exporter (CME) is a standalone tool that exports metadata files (XML data and artwork) from My Movies using the My Movies API. Once configured, CME runs automatically in the background and continually keeps your exported metadata up-to-date. CME exports more metadata than My Movies Collection Management, providing for a richer browsing experience in Chameleon MediaCenter (CMC).

image.png
image.png (41.17 KiB) Viewed 8426 times

The use of this tool requires that the user (you) have at least 2500 My Movies points, which grants My Movies API access. While use of CME is optional, and CMC still works with the freely exported mymovies.xml metadata files, we highly recommend using the CMC Metadata Exporter to elevate your CMC experience to a higher level - especially if you have TV Series.


But why? Doesn't My Movies already have meta-data export built-in?
While My Movies already has built-in meta-data file exporting, Binnerup's solution has several issues:
  • My Movies Collection Management often refuses to update mymovies.xml meta-data files if the target file already exists, even though these files might contain old data or be incompatible with CMC or contain encrypted data. Binnerup states that the files are working as designed and fulfill their intended purpose, and we have no reason to dispute that claim, though this behavior does make for a poor solution to export data for CMC to import.
  • My Movies uses the same filename (mymovies.xml) for all meta-data file types (Title, Series, Episode). This is problematic when multiple file types are written to the same directory, and since they have the same name these overwrite each other causing lost metadata. This is the main reason why TV Series support was lacking in CMC, because the TV Series metadata file was usually overwritten by the disc Title metadata file.
  • We evaluated all optional metadata export formats offered in My Movies, and all were found insufficient to produce the rich media experience we desired for CMC.
  • My Movies Collection Management does not export all possible meta-data and artwork. While we found a cumbersome workaround to force My Movies to export the Episode metadata, the episode artwork was missing. Season banner artwork and Series info artwork did not export by default, though with manual effort you could sometimes get this data. Regardless, this was too much manual effort.
  • My Movies includes a lot of extra data in the meta-data files that is not needed by CMC, which causes much slower CMC Sync performance. The main culprit is the Title/Chapter indexes that are included for DVD/Blu-ray discs. 99% of these entries were blank, and CMC only needs the entries for mapped Primary/Secondary movie titles, and for Episodes for TV Series. For example, for the TV Series Game of Thrones 7-season box set, this extra data ballooned the file size from 128 KB to over 8,829 KB, which is 68 times larger than necessary. Not only is this larger file size slower to load and read, CMC has to parse through tens of thousands of unused Title/Chapter data rows just to find the 67 data rows that contained the 67 Episodes.
CME fixes all of these shortcomings. When the "Force Update" option is enabled, CME will always write the current meta-data file, even if an older file is already present. CME uses unique filenames for each file type (i.e. mmTitle.xml, mmSeries.xml, mmEpisode.xml) so that these files may co-exist in the same directory. CME exports everything it possibly can, allowing CMC to dsiplay TV Series and Episode info, posters, banners, and even episode images. And CME filters out the unneeded data during export, with the smaller metadata file sizes allowing CMC Syncs to process over 40% faster on average.

Another benefit of CME is that it uses the original cover artwork to create custom sized folder.jpg files that are specific to CMC. These custom sized images are exactly the size that CMC displays the current selected and zoomed cover, so they appear sharper than the resized folder.jpg files that My Movies exports by default. For best results, you'll want to disable "folder.jpg" option in the My Movies Collection Management Meta-data options and allow CME to manage these files instead.

To preserve Binnerup's intended use, CME never overwrites any of the mymovies.xml metadata files.


Why not just have CMC use the My Movies API directly?
The main reason why we didn't integrate the My Movies API directly into CMC is speed. While the My Movies API exports artwork incredibly quickly, it is quite a bit slower to export title metadata. And for Large box Sets and TV Series, the speed was painfully slow, sometimes measured in minutes to export a single Box Set.

With the Artwork Caching feature enabled in CMC, browsing the GUI and looking at movie titles is very fast, almost instantaneous. When we did a test GUI using the API, it felt slow and lethargic by comparison. And this test was on high-end, fast hardware, so these lackluster results illustrated a best-case scenario.

A secondary reason that we continue to use metadata files for CMC is that the My Movies API still has some limitations, and going with a direct API approach would have made certain features impossible. The best example of this are non-disc Movies added to My Movies. The API doesn't export the metadata for these at all. But since the My Movies General Service does export a mymovies.xml metadata file for these Movies, we are able to import these titles and show them in CMC. This is just one example of several API limitations that led us to the decision that a metadata exporter was a better overall solution.

Another reason to keep CMC as a stand-alone metadata file reader is portability. With a direct API approach, every copy of CMC would require local or network access to a running My Movies installation. This would defeat one of the main benefits of CMC, that you can throw it and some media on a thumb drive, external hard drive or laptop and go on the road (vacation, school, etc.) and enjoy an at-home movie experience without a running My Movies instance.

Cost was another factor in the choice to keep CMC as a stand-alone metadata file reader. Binnerup requires that users have 2500 points to gain access to the My Movies API, which if purchased outright would cost $100, yet at the same time the mymovies.xml files exported by default are essentially free. For CMC users that need to keep expenses in check, CMC will continue to import the existing mymovies.xml files. That said, for the best possible experience we highly recommend using CMC with this new CMC Metadata Exporter and the My Movies API, especially if you have TV Series in your collection.

A final consideration was that the exported metadata provides a backup of your valuable metadata for your entire collection. Who doesn't love a good backup.


How do I use CME?
Please read the other sticky posts in this forum for information on how to use CMC Metadata Exporter.

Please read tutorial #2 next: 2 - CME Initial Setup
President, Chameleon Consulting LLC
Author, Chameleon MediaCenter

Post Reply