Kodi Community Forum

Full Version: mythicalLibrarian - a tool to build Movie and TV Show library from MythTV recordings
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
mythicalLibrarian is quite large and has hundreds of logic branches. I need the entry from ~/mythicalLibrarian/output.log to understand any problems that you might have. Log, or it didn't happen. Wink

Let me know if there are any problems.
First there was BashSExx, MythSExx, and then mythicalLibrarian. I know there were several installs of BashSExx and MythSExx and people are still asking me if they should upgrade.. Yes. Upgrade

Since the release of mythicalLibrarian there have been 480 unique downloads. This number comes from number of downloads of the librarian-notify-send send script from the mythicalLibrarian GoogleCode downloads section.

The librarian-notify-send script is an option presented during installation of mythicalLibrarian through mythicalSetup or mythicalLibrarian --update. It is only installed once and only using the auto-upgrade options. So, those who select "no" to the option or set-up manually are not counted. I'd say the number of machines running mythicalLibrarian is around 500.Big Grin

Let me know if there are any problems.
First off, this isn't a bug request but a question. I apologize if this isn't the right place to post this, or if it has already been answered but to be honest I don't think I can read all 83 pages of this thread. I'm looking to configure ML to create all symlinks to the recordings in one directory and hopefully point Boxee to that directory over SMB.

I currently have a master and slave backend. The master has 2 tuners via an HDHomeRun (which currently isn't hooked up). The slave has one tuner, an HD-PVR. Right now virtually all my recordings live on this slave BE.Each backend has two local storage groups. If I were to implement ML, I assume I would put it on the master backend and share out that directory via SMB? Would ML traverse the two local storage directories? And how would it get the shows that are recorded on the slave backend?

Or should I install it on the slave BE and hope that the magic that is Myth will automatically communicate with the master backend? Right now I run mythlink.pl nightly and point my Boxee Box to one of the storage directories on the slave BE over SMB.

Thanks in advance, this looks like a great app and I'm pretty psyched that you spend so much time supporting it!

I plan on moving all my storage groups to one big NFS volume in the near future, which may make these issues moot. But I'd like to better understand how MythicalLibrarian and its symlinks work, and if it's easy enough to implement now or if I should wait.
Most of what you need to know is in here: http://wiki.xbmc.org/index.php?title=MythicalLibrarian It looks kinda confusing, I know... I just had to fit alot of information in one page.

In order for mythicalLibrarian to run on your setup, you're going to need to process jobs on the recorder. Some setups have multiple backends processing multiple jobs from other backends. You must disable this in mythtv.

Unfortunately, symlinks do not work across SMB shares, so you want to stay away from link mode... Microsoft implemented SMBFS before NTFS 4.1. SMBFS works like FAT. So symlinks are not acceptable.

The most appropriate method for your situation is to use MOVE mode. Tell MythTV to follow symlinks when deleting so that everything stays in sync. The backends will still serve the file, following the symlinks appropriately. The backends will also modify and delete the files just like normal.

In MOVE mode, you will share the /recordings/Episodes, /recordings/Showings and /recordings/Movies folders. This way XBMC can differentiate between them... They get handled differently.

As far as I know, we can't communicate with Boxee to automatically update the library, so you'll have to manually scan, or set up something to scan automatically.

I'm not sure how things will work with mythlink. You should try to undo whatever mythlink did.. You can also run mythicalLibrarian /path_to/testfile.mpg before you do a mythicalLibrarian --scan.

Btw.. use the SVN version.. There was some problems with folder names with spaces in the current stable. I havn't made a new stable yet.... I'll get on that.
Revision 945 moved to stable.
It keeps getting longer and longer between issues. Any problems?
Things are working pretty good overall, but I record re-runs of America's Funniest Home Videos on our local FOX affiliate so my wife has something random to watch in the afternoon. They usually get detected as S01E01 and then get dumped into the Season 1 folder with the same name, so XBMC doesn't see individual episodes.

MythTV seems to consistently have guide data info, but rarely seems to mesh with the data from TheTVDB. I'd prefer just to port the Ep Num and Guide Info over to XBMC, I think.

Is it possible to create an exception or something similar?

Here's the output of manually processing one of the files:

Code:
$ mythicalLibrarian 1411_20110802150000.mpg
Revision 945 Sat Aug 6 08:28:15 PDT 2011
Attemting to pull database information on 1411_20110802150000.mpg
COMMERCIAL DATA START:70813 STOP:81648
COMMERCIAL DATA START:106260 STOP:122826
COMMERCIAL DATA START:152126 STOP:163058
COMMERCIAL DATA START:181428 STOP:191691
COMMERCIAL DATA START:209831 STOP:219533
RECSTART:2011-08-02 15:00:00 DATE: 2007-01-28
PROGRAMID:EP000168930342 ShowCategory:Reality
PLOT: Six contestants vie for the $100,000 prize.
PERFORMING MAINTENANCE ROUTINE...
SEARCHING: www.TheTvDb.com SHOW NAME: America's Funniest Home Videos EPISODE:
TESTING FOR ZAP2ITID MATCH:SH016893 America's Funniest Home Videos
MATCH FOUND BASED ON Zap2itID:
FOUND:America's Funniest Home Videos ID#:76235 WITH CONFIDENCE:1
DATABASE IS MAINTAINED. TIME IS:1312645795 NEXT UPDATE IS:1312715427
AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
TOTAL MATCHES:566 TOTAL VERIFIED FUZZY ERRORS:203
EPISODE:Show 2 EPISODE NUMBER:2 S01E01 WITH CONFIDENCE: -1
WARNING: FILE IS A LINK FORCING SYMLINK LINK MODE
CONFIDENCE:0 LOGIC PATH:  Attempted Match On Zap2itID: Sucessful; Attemped match on OriginalAirDate: Failed; Attemted SubTitle match on Standard logic: Sucessful;
JOB: mythicalLibrarian '1411_20110802150000.mpg' 'America's Funniest Home Videos' ''
TARGET SET:/home/mythtv/recordings/Episodes/Americas Funniest Home Videos/Season 1/Americas Funniest Home Videos S01E01 (Show 2).mpg
FILE NAME EXISTS.  FILE WILL BE KNOWN AS: Americas Funniest Home Videos S01E01 (Show 2)-9
CREATING LINK IN LINK MODE WITH CONFIDENCE:0
SENDING REQUESTED COMMANDS TO:192.168.11.11:8080
RSS ENTRY SUCCESSFULLY CREATED: /var/www/mythical-rss/rss.xml
SUCCESSFUL COMPLETEION TYPE: LinkModeSuccessful
thingsforjason Wrote:Things are working pretty good overall, but I record re-runs of America's Funniest Home Videos on our local FOX affiliate so my wife has something random to watch in the afternoon. They usually get detected as S01E01 and then get dumped into the Season 1 folder with the same name, so XBMC doesn't see individual episodes.

MythTV seems to consistently have guide data info, but rarely seems to mesh with the data from TheTVDB. I'd prefer just to port the Ep Num and Guide Info over to XBMC, I think.

Is it possible to create an exception or something similar?

Here's the output of manually processing one of the files:

Code:
$ mythicalLibrarian 1411_20110802150000.mpg
Revision 945 Sat Aug 6 08:28:15 PDT 2011
Attemting to pull database information on 1411_20110802150000.mpg
COMMERCIAL DATA START:70813 STOP:81648
COMMERCIAL DATA START:106260 STOP:122826
COMMERCIAL DATA START:152126 STOP:163058
COMMERCIAL DATA START:181428 STOP:191691
COMMERCIAL DATA START:209831 STOP:219533
RECSTART:2011-08-02 15:00:00 DATE: 2007-01-28
PROGRAMID:EP000168930342 ShowCategory:Reality
PLOT: Six contestants vie for the $100,000 prize.
PERFORMING MAINTENANCE ROUTINE...
SEARCHING: www.TheTvDb.com SHOW NAME: America's Funniest Home Videos EPISODE:
TESTING FOR ZAP2ITID MATCH:SH016893 America's Funniest Home Videos
MATCH FOUND BASED ON Zap2itID:
FOUND:America's Funniest Home Videos ID#:76235 WITH CONFIDENCE:1
DATABASE IS MAINTAINED. TIME IS:1312645795 NEXT UPDATE IS:1312715427
AIRDATE FAILED. TITLE MATCH ON ABSOLUTE EPISODE NUMBER:
TOTAL MATCHES:566 TOTAL VERIFIED FUZZY ERRORS:203
EPISODE:Show 2 EPISODE NUMBER:2 S01E01 WITH CONFIDENCE: -1
WARNING: FILE IS A LINK FORCING SYMLINK LINK MODE
CONFIDENCE:0 LOGIC PATH:  Attempted Match On Zap2itID: Sucessful; Attemped match on OriginalAirDate: Failed; Attemted SubTitle match on Standard logic: Sucessful;
JOB: mythicalLibrarian '1411_20110802150000.mpg' 'America's Funniest Home Videos' ''
TARGET SET:/home/mythtv/recordings/Episodes/Americas Funniest Home Videos/Season 1/Americas Funniest Home Videos S01E01 (Show 2).mpg
FILE NAME EXISTS.  FILE WILL BE KNOWN AS: Americas Funniest Home Videos S01E01 (Show 2)-9
CREATING LINK IN LINK MODE WITH CONFIDENCE:0
SENDING REQUESTED COMMANDS TO:192.168.11.11:8080
RSS ENTRY SUCCESSFULLY CREATED: /var/www/mythical-rss/rss.xml
SUCCESSFUL COMPLETEION TYPE: LinkModeSuccessful
I see what's going on there... It had no title and there was no airdate in the tvdb.. So it matched on a title. The title matched every title there ever was because it was blank so it chose the first one.

I'll add a new rule so if there's no title and no airdate then it will match as a generic showing.
sorry, usually I'm very quick about changes... I'm not just doing nothing though.. check this out. http://forum.xda-developers.com/showthre...?t=1206216 I've got a $600 brick I'm working with.
outleradam Wrote:sorry, usually I'm very quick about changes... I'm not just doing nothing though.. check this out. http://forum.xda-developers.com/showthre...?t=1206216 I've got a $600 brick I'm working with.

Good luck w/ the Captivate. I'm still rockin an OG Droid, holding strong, but waiting for a good discount on the Droid 3.
HI, I've been using mythical librarian for a couple of years now, and have had very little issues with it.

However, about a month ago it stopped sending notifications to my XBMC front ends.

Mythical diagnostics says it failed to communicate


Press any key to perform XBMC Notification test...

Performing XBMC Notifications test
SENDING REQUESTED COMMANDS TO:XBMCbase:8090
COMMUNICATIONS NOT ESTABLISHED: XBMCbase:8090
XBMC Communications ***FAILED***
Press any key to test file system permissions...

press any key to continue on to the final results...

All tests complete RESULTS
MythTV Database Test: ***PASSED***
Installed Packages: ***PASSED***
Notifications Test: ***PASSED***
XBMC Communications: ***FAILED***
File System Checks: ***PASSED***
mythicalTesting: ***PASSED***
Overall mythicalReadiness:***PASSED***
-----End of diagnostics-----
XBMC Communications have failed. Likely causes: Improper IP address,
or XBMC is not equipped to handle external network commands in settings.
mythicalLibrarian will not send messages or library update requests.


I have tried sending to the system by hostname and IP, I've changed ports and everything. I even ran mythicalLibrian update about 3 days ago, and same thing.

I have no idea why it stopped sending the notifications. The system can ping the front ends, and all other systems I have (sickbeard, couchpotato, android remote) have no issues sending the notifications.

Any help would be greatly appreciated.
Interesting... I heard they were moving to the JSON soon. Are you per chance running a newer beta version? This could be the cause.. In which case I'd have to reformat the network commands to fit the JSON methods.

tell me what you get when you run this in a browser...

Code:
http://"$XBMCIP"/xbmcCmds/xbmcHttp?command=ExecBuiltIn(Notification(mythical%20Librarian%2Cadding%20show%20$tvdbshowname%20to%20library))"
but change $XBMCIP to the actual IP : port which XBMC is located on your network.
outleradam Wrote:Interesting... I heard they were moving to the JSON soon. Are you per chance running a newer beta version? This could be the cause.. In which case I'd have to reformat the network commands to fit the JSON methods.

tell me what you get when you run this in a browser...

Code:
http://"$XBMCIP"/xbmcCmds/xbmcHttp?command=ExecBuiltIn(Notification(mythical%20Librarian%2Cadding%20show%20$tvdbshowname%20to%20library))"
but change $XBMCIP to the actual IP : port which XBMC is located on your network.
Hi and thank you for your quick reply.

I ran http://xbmcbase:8090/xbmcCmds/xbmcHttp?command=ExecBuiltIn%28Notification%28mythical%20Librarian%2Cadding%20show%20$tvdbshowname%20to%20library%29%29 from a web browser and it sent the notification as well as posted the ok in the browser.

I ran mythicaldiagnostics and got the same error. I also forced myth to record a show and there was no notification or update to my XBMC.

Other then address changes for trouble shooting, I have not made any changes to the mythicalLibrarian configurations. I have no idea why it just stopped. I should also note, as I realized I forgot to mention this in my previous post, that its not even updating my XBMC, I have to manually update the library right now(not ideal Big Grin).

I should note Im running XBMC Live (version 10.1 GIT:unknown compiled March 9th, 2011)

Also I have 3 XBMC machines and none of them will receive the updates/notifications from myth, but all other tools do work fine.

Any other Ideas or sugestions? do you need any more information?
Odd... but there is no communication from mythicalLibrarian.... That is the actual command which mythicalLibrarian sends. I can't really troubleshoot without seeing more. Try using only ONE IP address in mythicalSetup... see how that goes. If it works, then add another one.
I have already tried that, I only have the XBMCbase:8090 address in there right now. I also sent the command you asked me to run, from the box that runs mythicalLibrarian. Its so weird that its only mythicallibrarian that is affected.