|
Batch Metadata Tools This forums is for discussing the user-created Batch Metadata Tools for SageTV. |
|
Thread Tools | Search this Thread | Display Modes |
#1281
|
|||
|
|||
Quote:
Thanks for your help, Jeff |
#1282
|
||||
|
||||
I think something broke in beta 8. I'm getting a bunch of errors. And I was trying to redo my TV Recordings (SageTV) metadata and fanart and it just keeps creating 0kb .jpg files for ALL the fanart. Backgrounds, posters and banners. Here's part of the log file:
Code:
2009-07-12 13:48:58,187 ERROR [Thread-24] org.jdna.media.util.AutomaticUpdateMetadataVisitor (AutomaticUpdateMetadataVisitor.java:54) - Failed to find/update metadata for resource: file:////MAIN/Videos/MainMovie/Indiana%20Jones%20and%20the%20Kingdom%20of%20the%20Crystal%20Skull/VIDEO_TS/ java.lang.IllegalArgumentException: im == null! at javax.imageio.ImageIO.write(Unknown Source) at javax.imageio.ImageIO.write(Unknown Source) at org.jdna.media.metadata.MediaMetadataUtils.writeImageFromUrl(MediaMetadataUtils.java:37) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSaveFanart(FanartStorage.java:113) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSageCentralFanart(FanartStorage.java:204) at org.jdna.media.metadata.impl.sage.FanartStorage.saveCentralFanart(FanartStorage.java:192) at org.jdna.media.metadata.impl.sage.FanartStorage.saveFanart(FanartStorage.java:45) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadFanart(FanartStorage.java:289) at org.jdna.media.metadata.impl.sage.CentralFanartPersistence.storeMetaData(CentralFanartPersistence.java:38) at org.jdna.media.metadata.CompositeMediaMetadataPersistence.storeMetaData(CompositeMediaMetadataPersistence.java:55) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:118) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:69) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.visit(AutomaticUpdateMetadataVisitor.java:49) at org.jdna.media.util.FilteredResourceVisitor.visit(FilteredResourceVisitor.java:23) at org.jdna.media.AbstractMediaResource.accept(AbstractMediaResource.java:49) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:28) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:20) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:99) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:1) at org.jdna.util.ProgressTrackerManager$1.run(ProgressTrackerManager.java:45) 2009-07-12 13:48:58,187 ERROR [Thread-24] org.jdna.media.util.AutomaticUpdateMetadataVisitor (AutomaticUpdateMetadataVisitor.java:56) - Failed to visit MediaResource: file:////MAIN/Videos/MainMovie/Indiana%20Jones%20and%20the%20Kingdom%20of%20the%20Crystal%20Skull/VIDEO_TS/ java.lang.IllegalArgumentException: im == null! at javax.imageio.ImageIO.write(Unknown Source) at javax.imageio.ImageIO.write(Unknown Source) at org.jdna.media.metadata.MediaMetadataUtils.writeImageFromUrl(MediaMetadataUtils.java:37) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSaveFanart(FanartStorage.java:113) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSageCentralFanart(FanartStorage.java:204) at org.jdna.media.metadata.impl.sage.FanartStorage.saveCentralFanart(FanartStorage.java:192) at org.jdna.media.metadata.impl.sage.FanartStorage.saveFanart(FanartStorage.java:45) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadFanart(FanartStorage.java:289) at org.jdna.media.metadata.impl.sage.CentralFanartPersistence.storeMetaData(CentralFanartPersistence.java:38) at org.jdna.media.metadata.CompositeMediaMetadataPersistence.storeMetaData(CompositeMediaMetadataPersistence.java:55) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:118) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:69) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.visit(AutomaticUpdateMetadataVisitor.java:49) at org.jdna.media.util.FilteredResourceVisitor.visit(FilteredResourceVisitor.java:23) at org.jdna.media.AbstractMediaResource.accept(AbstractMediaResource.java:49) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:28) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:20) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:99) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:1) at org.jdna.util.ProgressTrackerManager$1.run(ProgressTrackerManager.java:45) 2009-07-12 13:48:58,437 ERROR [Thread-24] org.jdna.media.util.AutomaticUpdateMetadataVisitor (AutomaticUpdateMetadataVisitor.java:54) - Failed to find/update metadata for resource: file:////MAIN/Videos/MainMovie/Infamous/VIDEO_TS/ java.lang.IllegalArgumentException: im == null! at javax.imageio.ImageIO.write(Unknown Source) at javax.imageio.ImageIO.write(Unknown Source) at org.jdna.media.metadata.MediaMetadataUtils.writeImageFromUrl(MediaMetadataUtils.java:37) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSaveFanart(FanartStorage.java:113) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadAndSageCentralFanart(FanartStorage.java:204) at org.jdna.media.metadata.impl.sage.FanartStorage.saveCentralFanart(FanartStorage.java:192) at org.jdna.media.metadata.impl.sage.FanartStorage.saveFanart(FanartStorage.java:45) at org.jdna.media.metadata.impl.sage.FanartStorage.downloadFanart(FanartStorage.java:289) at org.jdna.media.metadata.impl.sage.CentralFanartPersistence.storeMetaData(CentralFanartPersistence.java:38) at org.jdna.media.metadata.CompositeMediaMetadataPersistence.storeMetaData(CompositeMediaMetadataPersistence.java:55) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:118) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.fetchMetaData(AutomaticUpdateMetadataVisitor.java:69) at org.jdna.media.util.AutomaticUpdateMetadataVisitor.visit(AutomaticUpdateMetadataVisitor.java:49) at org.jdna.media.util.FilteredResourceVisitor.visit(FilteredResourceVisitor.java:23) at org.jdna.media.AbstractMediaResource.accept(AbstractMediaResource.java:49) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:28) at org.jdna.media.AbstractMediaFolder.accept(AbstractMediaFolder.java:20) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:99) at org.jdna.bmt.web.server.BrowserServicesImpl$Scanner.run(BrowserServicesImpl.java:1) at org.jdna.util.ProgressTrackerManager$1.run(ProgressTrackerManager.java:45) Gerry
__________________
Big Gerr _______ Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB. Last edited by gplasky; 07-12-2009 at 12:08 PM. |
#1283
|
||||
|
||||
Jeff, I missed an exit point from the plugin... Basically if the metadata plugin has existing properties then they are returned... It will now check the "work around" flag instead of just returning the props.
Gerry, I think that the image url must be invalid, but I'm going to add some code around the image download code to better check for errors and to ensure that 0bytes files are not created. As for the web scanning.... I use the MediaFileAPI.GetMediaFiles(mask) to return the list of media files. For some reason, I am seeing tuners showing up as media files as well, but I just thought this was normal. Also, note that when you are doing a scan from the web UI, then only results that are returned in the list, are those that CANNOT be automatically updated. All auto updated results are not returned in the list. My thinking here is that you'd only want to edit those results that cannot be automatically updated. I'll try to get a build out later today.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#1284
|
||||
|
||||
Quote:
I went to beta 8 again and deleted everything in the fanart\tv directory. I performed a manual metaupdate from within the SageTV MC UI and the stvi and got valid background, posters and banner files. But I think (switching back and forth is very confusing) if I scanned from the web UI then I only got a background directory and a 0KB background jpg. (No banner or poster directories or downloads. Defintely beta 6 did NOT show the tuners from the webUI when you performed a scan. Beta 8 does. I'm also seeing a lot of blank listings in addition to the media files and the media tuners being listed. They are legitimate media files with no titles because if I click on them and look at the details there are descriptions and other data. At this point I'm manually updating the TV files thru the mataupdater stvi and not doing a webUI scan. Looking forward to your next build whenever you can get ti done. You've been working pretty hard on updating this and supporting it in the thread and I appreciate the hard work you're putting into it. Part time or not it is still a lot of work. Gerry
__________________
Big Gerr _______ Server - WHS 2011: Sage 7.1.9 - 1 x HD Prime and 2 x HDHomeRun - Intel Atom D525 1.6 GHz, Acer Easystore, RAM 4 GB, 4 x 2TB hotswap drives, 1 x 2TB USB ext Clients: 2 x PC Clients, 1 x HD300, 2 x HD-200, 1 x HD-100 DEV Client: Win 7 Ultimate 64 bit - AMD 64 x2 6000+, Gigabyte GA-MA790GP-DS4H MB, RAM 4GB, HD OS:500GB, DATA:1 x 500GB, Pace RGN STB. |
#1285
|
|||
|
|||
Thanks...
|
#1286
|
|||
|
|||
Has anyone had problems with imdb failure?
|
#1287
|
||||
|
||||
Seems to be working for me. You can test imdb from the commandline, using, the --offline arg.
Code:
# java -jar MetadataTool.jar --provider=imdb --offline --auto=false --metadataOnly "Transformers.avi" EDIT: Added --provider arg to specify imdb
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient Last edited by stuckless; 07-13-2009 at 03:52 PM. |
#1288
|
||||
|
||||
Quote:
If you follow my logic, I am thinking that your fix to the phoenix api would only find metadata/fanart for movies that are in the sage DB, but not for movies that are in your imports directory - since they may not have the Movie category set. For instance, I have a lot of movies in import directories with the sage filename format due to a corrupted wiz.bin a while back. These movies do not correctly pull the fanart/metadata either. Also, is there a way to parse the filename for titles if a distinct title does not exist? For example, the same movies that I am speaking of, some just have the default title that matches the filename. I was thinking that maybe the filename could be parsed to return the correct title. The format seems pretty standard. E.G. TheNightListener-123456-2.mpg Parse could find the first "-" character, and if the characters that follow are "numbers-number.ext" remove everything after and including "-" . You would end up with "TheNightListener". Then put a space before every capital letter (except the first one) and voila, you have the correct title. "The Night Listener" As easily as I have explained it, I know it is much more difficult to code, and I am sure there are some exceptions that would have to be coded around. Thanks for all your hard work. |
#1289
|
||||
|
||||
rsagetv99 - Those are very good points. The curent model starts at the beginning of the list and searches all providers until there is a match of at least 90%. I don't cross search, which is what you are asking. ie, Do a TV search, and then do a Movie search if the match fails using the TV search. I'll look into this, but I have no idea how easy it will be to do it... also, I don't know if I should make this an option, or just do it always.
I'm sure it will be pandoras box if I start it, so I'm a little reluctant to start it
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#1290
|
|||
|
|||
Quote:
__________________
SageTV v9.1.10.479 on Ubuntu (testing v9.1.10.479 on Debian and Win10) |
#1291
|
||||
|
||||
Quote:
Not sure how much longer it would take to search all providers for every title, but it would be nice (and maybe more accurate) for the tool to check all providers, and choose the highest match above 90%. Personally, I have had a few Movies that matched with TV shows, and maybe this method would reduce the occurrence of this. Either way, these are just suggestions. It's easy to raise your hand and make a suggestion, it's a lot harder to make them work. |
#1292
|
||||
|
||||
stuckless -
I was wondering if there is a way to get your tool to traverse into a directory-subdirectory when running a full re-index? I have folders such as The-Lord-Of-The-Rings-Trilogy -> The Fellowship-Of-The-Ring -> Fellowship Disc 1 & then another directory for fellowship disc 2. The .properties file sits (i believe as it should) one directory above the VIDEO_TS. The issue is that when i run a full re-index All properties files are updated as expected EXCEPT for the properties files in the directory structure above. Any thoughts? *EDIT* I also forgot to ask -- with the new tool when i run the scan to view my current collection, it finds all of my movies, but will only display 4 of them. Any ideas on that too? Last edited by PiX64; 07-14-2009 at 09:17 AM. |
#1293
|
|||
|
|||
if running from the commandline pass the --recurse=true command line option
__________________
Server 2003 r2 32bit, SageTV9 (finally!) 2x Dual HDHR (OTA), 1x HD-PVR (Comcast), 1x HDHR-3CC via SageDCT (Comcast) 2x HD300, 1x SageClient (Win10 Test/Development) Check out TVExplorer |
#1294
|
||||
|
||||
I was not actually running from command line, i was running it through the webpage.
I can certainly try running it from the commandline, but the last time i tried to use the commandline, i couldn't get it to update the actualy properties file on my NAS. It would update the fanart and such, but not on the NAS....so typing that all out i think i figured out why..Freenas file permissions..ha ill try it and let ya know. |
#1295
|
||||
|
||||
Quote:
Quote:
The second thing is that it's probably not able find a match because of the folder name "Fellowship Disc 2". The search will be for "Fellowship" which may not match anything with any confidence (ie > 90%). Maybe if the disc directories were called, "The Fellowship-Of-The-Ring Disc 2" then it may match. It would be very difficult to have BMT know about a multiple directory hierarchy when trying to scrape titles. Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient Last edited by stuckless; 07-14-2009 at 11:56 AM. Reason: i suck at grammer and spelling apparently |
#1296
|
||||
|
||||
Hi Sean,
I'm just going to think out loud here. Instead of the current search method, would it be possible to allow configuration of providers independently for each media type, and then remove the restrictions on supported types for the providers? Further, could the providers in the list be tagged as to whether they will be used to provide metadata, fanart/images, or both? With this approach, there would be a prioritized list of providers for TV (say thetvdb.org then imdb.com), a separate list for Movies ( maybe DVDProfiler, themoviedb.org, then imdb.com), a third list for Music, etc. BMI would then search the list of providers for the specified media type until a 90% match is found. I'm thinking that this would allow a high degree of specificity and customization while keeping configuration fairly simple. Appropriate default provider lists for each type would allow for a zero-configuration install. Aloha, Mike
__________________
"Everything doesn't exist. I'm thirsty." ...later... "No, it's real!!! I'm full." - Nikolaus (4yrs old) Last edited by MeInMaui; 07-14-2009 at 01:01 PM. |
#1297
|
|||
|
|||
Quote:
More here: http://www.xbmc.org/wiki/?title=Set_...(Video_Library)
__________________
Server: Sage 7.1.9 beta; Dell Inspiron 530; Windows 7 Ultimate 32-bit (UAC turned off); 2TB Internal SATA (TV Recordings) Storage: Synology DiskStation DS411+, RAID 5, 5x 2TB SATA for (DVDs/Music/Other Videos) Tuners: Ceton InfiniTV w/ Verizon FIOS cablecard (using babgvant's SageDCT plugin) Clients: 1x STP-HD300; 1x Acer Aspire Revo 3610 (Atom/Ion) w/ SageTV client (Win 7, EVR, FSE on) |
#1298
|
||||
|
||||
Quote:
Great suggestion (although I think that someone, maybe sflamm, may have posed something similar a few months back). It's not quite trivial and I have looked at doing it. I may still do it... but it will require some extra thought on how I would go about configuring everything, especially with the fanart stuff.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#1299
|
||||
|
||||
Quote:
It's more work now, but if you can get the success rate up then you'll spend less time on support later. Aloha, Mike
__________________
"Everything doesn't exist. I'm thirsty." ...later... "No, it's real!!! I'm full." - Nikolaus (4yrs old) |
#1300
|
|||
|
|||
I'm not sure if this has been fixed in later releases. I'm currently using 2.3.1.
The problem I'm having is that files which have a colon in the name like "Kill Bill: Volume 1" end up with an empty file with the name of the text before the colon. Like the movie in my example has an empty file "Kill Bill" created with it. Edit: Never Mind, it appears that SageMC is doing this when the MKV has a title with a colon in it. This also prevents SageMC from properly importing the cover art from DVD Profiler but is for some reason able to get everything else. Sorry, this doesn't appear to be a problem with BMI.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD Last edited by Taddeusz; 07-16-2009 at 10:15 AM. |
Currently Active Users Viewing This Thread: 15 (0 members and 15 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
STV Import: Read & Write Metadata files for Default STV 5/6 (v2.2.9 18/Feb./2010) | JREkiwi | SageTV Customizations | 251 | 10-09-2019 11:11 AM |
Automated VideoRedo (DOS batch files) | grauchy | SageTV Customizations | 3 | 09-08-2011 10:01 PM |
Simple utility to control multiple USB or Serial HD DirecTV STBs | jchiso | Hardware Support | 15 | 02-19-2009 06:27 PM |
DVB-S setup with Digiguide EPG Grabber & XMLTV importer | MCE-Refugee | SageTV United Kingdom | 27 | 09-08-2008 09:10 AM |
Keeping custom metadata for imports via AddShow() | Opus4 | SageTV Studio | 9 | 02-20-2008 06:35 PM |