|
SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer. |
|
Thread Tools | Search this Thread | Display Modes |
#441
|
||||
|
||||
Quote:
1) So I created a task called "SCANFORMEDIA". I have the test script set as "media_file_scanner.groovy". What would be the Executable and Exec Args that I would add in "Add SJQ Task" for "SCANFORMEDIA"? Or are there even any? Is media_file_scanner.groovy itself calling the "COMSKIP" task which I would also need to setup as well, as both would be required to complete a COMSKIP task? 2) Am I supposed to be passing any Test Script Args to "media_file_scanner.groovy"? I don't believe I should be.. 3) In the SJQ UI, if I decide I want to remove the test script arguement "ts", after I remove it and save it, it comes right back. Best I can remove it down to is a single character (ie: "t"). That field won't let you resave it as blank.... Tnx
__________________
Server: Win 10 Pro 64 Bit, Intel i5, 8 GB, Samsung EVO 850 500 GB for OS, WD Black 4 TB + WD Black 1 TB for Recordings, 36TB Synology 1019+ for DVD/Bluray Rips, Music, Home Movies, etc., SageTV Server 64 Bit Ver 9.2.6.976, HDPVR x 2, Bell TV 6131 Receiver x 2, USB-UIRT with 56 KHz Receiver Clients: PC Client x 2, HD-300 x 2 (1 Using Netgear MoCA Coax Bridges), SageTV Miniclient on NVidia Shield x 3 Last edited by SteveW; 02-14-2011 at 06:43 PM. |
#442
|
|||
|
|||
Quote:
Quote:
Quote:
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#443
|
|||
|
|||
New Server & Client Builds: Generate System Messages on Task Failures
Server 4.0.0.1396 and task client 4.0.0.1395 are now in the repository. One key change in this release:
Tasks can now have the sysmsgonfail property attached to them: Code:
task.comskip.exe=C:/comskip/comskip.exe task.comskip.sysmsgonfail=true ... The UI plugin currently does not support this task option. Until an update is provided, you will have to manually modify this task option by directly editing the sjqagent.properties file.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#444
|
|||
|
|||
Bug fixes for media_file_scanner.groovy
Just checked in some significant bug fixes for the media_file_scanner.groovy script. The original version would not properly queue up tasks that match the needsProcessing() function when testMode = false.
Please grab the latest version and update your local installations.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#445
|
||||
|
||||
An API update will be coming as well but probably not until later next week. I'll be at Daytona all this weekend and will have little time to devote to Sage.
__________________
Sage Server: 8th gen Intel based system w/32GB RAM running Ubuntu Linux, HDHomeRun Prime with cable card for recording. Runs headless. Accessed via RD when necessary. Four HD-300 Extenders. |
#446
|
||||
|
||||
Quote:
Code:
2011-02-21 09:00:08,012 INFO [192_168_1_2-23347-1858]: Starting process runner for: Task[id=CLEANER, reqRes=100, maxInst=1, sched=ON, maxTime=86400, maxTimeRatio=1.0, rc=0-0, exe=script:C:/SJQ4/sjqv3_file_cleaner.groovy, exeArgs=, test=, testArgs=] 2011-02-21 09:00:08,012 ERROR [ServerClient]: IOError java.io.EOFException at java.io.DataInputStream.readUnsignedShort(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.readUTF(Unknown Source) at java.io.ObjectInputStream.readUTF(Unknown Source) at com.google.code.sagetvaddons.sjq.agent.network.ServerClient.getExeArgs(ServerClient.java:68) at com.google.code.sagetvaddons.sjq.agent.ProcessRunner.run(ProcessRunner.java:158) at java.lang.Thread.run(Unknown Source) Once I get this working I want to make changes to my SAV task for all segments. I've tried using the quick code slugger wrote earlier and I'm getting the same problem so I figure if I get one then I'll get the other. |
#447
|
|||
|
|||
You can ignore that IOError (and most IOErrors). The script should still work fine. There's a bug in the SJQ server that doesn't take too kindly to trying to read exe args when they're null/not set. It doesn't affect functionality, it just causes some IOErrors on the network socket sometimes. Should they be fixed? Of course. Do they affect program functionality? No. I'm using the exact same script from svn and I get the same IOErrors, but the script works fine. Is it not deleting artifacts as expected?
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#448
|
||||
|
||||
The artifacts seem to be deleting fine. The reason I noticed that was when I tried running the sample script you posted for running comskip (SAV in my case) for all segments. That doesn't seem to be running.
Here's the script I'm trying to use: Code:
String cmd = "C:\\Program Files (x86)\\Dragon Global\\ShowAnalyzerSuite\\ShowAnalyzer.exe" boolean failed = false; for(int i = 0; i < SJQ4_METADATA["SJQ4_MAX_SEGMENT_INDEX"].toInteger(); ++i) { String segment = SJQ4_METADATA["SJQ4_SEGMENT_${i}"] String[] exe = [cmd, segment] println "** Running ${exe}... **" Process p = exe.execute() p.waitFor() int rc = p.exitValue() println p.out.text println p.err.text if(rc < 0 || rc > 1) // Task failed, but run against the rest of the segments anyways... failed = true println "** DONE SEGMENT **" } if(failed) return 1 return 0 |
#449
|
|||
|
|||
What is (or isn't) happening when you run that script?
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#450
|
||||
|
||||
I get entries in the log file like the ones I posted earlier, the SJQ completed task log shows success, but SAV never receives the files to process.
Edit: There also aren't any entries in the log file from the script. |
#451
|
|||
|
|||
You use SAV1? If so, calling ShowAnalyzer.exe will just queue up the file with SAV's job queue and immediately return (successfully) in SJQ. I use SAV and I call ShowAnalyzerEngine.exe, which actually calls the processor and the task will wait in SJQ until it's done. That's probably what you want to do.
Also, that initial Groovy script is a bit buggy. The for loop condition would never run if there was only one segment and it would always skip the last segment of multi-segmented files. I've fixed that in the version below. It shouldn't matter for SAV, but the original would probably also deadlock if using comskip (or anything that dumps tonnes of output to stdout/stderr). That is also addressed below. Code:
def cmd = "C:\\Program Files (x86)\\Dragon Global\\ShowAnalyzerSuite\\ShowAnalyzerEngine.exe" def failed = false for(int i = 0; i <= SJQ4_METADATA["SJQ4_MAX_SEGMENT_INDEX"].toInteger(); ++i) { def segment = SJQ4_METADATA["SJQ4_SEGMENT_${i}"] def exe = [cmd, segment] println "** Running ${exe}... **" def p = exe.execute() p.consumeProcessOutput(System.out, System.err) p.waitFor() def rc = p.exitValue() if(rc < 0 || rc > 1) // Task failed, but run against the rest of the segments anyways... failed = true println "** DONE SEGMENT **" } return failed ? 1 : 0
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#452
|
|||
|
|||
Do NOT upgrade sagex-services to 7.0.23.7; it'll break SJQv4
There appears to be a bug in the latest sagex-services release (7.0.23.7). If you upgrade to this version it will fail and SJQv4 will then fail to start (since it depends on sagex-services). I've been talking to stuckless, he's aware of the problem and is looking into it.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#453
|
||||
|
||||
This script seems better. At least the attempts seem to be getting logged. I think it is missing the path to the file and so it isn't working yet. I'll try to take it from here and respond when I've got it.
Edit: Got it! The path was the problem. Last edited by toricred; 02-21-2011 at 08:06 PM. |
#454
|
|||
|
|||
Quote:
|
#455
|
|||
|
|||
Upgrading to .8 will allow SJQ to start up again. If you already upgraded to .7 then go ahead with .8, but if you're not on .7 then wait because .8 has another bug that prevents the HTTP services from starting properly.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#456
|
||||
|
||||
Quote:
Now I have to figured out how to get rid of it.
__________________
Server: AMD 9600 Phenom on XP, Gigabyte GA-MA78GPM, 2GB RAM, 320+250+500 GB SATA drives, HDHomeRun Prime, HD-PVR x.5.1, Paterson serial Client/Encoder:AMD 3800+ X2, 512 MB RAM, ATI X1650 XT, nMediaPC case, Hauppauge HD-PVR, Cyberlink/ArcSoft decoders, USB-UIRT Client/Encoder: AMD 3800+ X2, 512 MB RAM, 6150 graphics, nMediaPC case, ArcSoft decoders Client: HD300, Asus Pundit P1-AH1, AMD 3800+ X2 CPU, 1 GB RAM, 6150 graphics, ArcSoft decoders Backup: Synology SageTV version: FINAL |
#457
|
|||
|
|||
Quote:
You should never see that kind of disk usage in SageTV\plugins\sjq\sjq4.lobs.db\ - that's something I need to know about. You may want to upgrade the sagex-h2 plugin to the latest version. It seems the latest H2 driver may fix this problem with SageTV\.lobs.db\ filling up. Somewhere buried in this thread is the discussion about why this is happening (it's an issue with the H2 tcp client caching lob columns locally). SageTV\.lobs.db\ can be toasted off completely (as long as Sage isn't running). SageTV\plugins\sjq\sjq4.lobs.db\ cannot be toasted. However, the latter should never get that large as SJQ is constantly cleaning log entries from the db. The former fills up because of issues with the H2 tcp client lib caching stuff and not cleaning up after itself, but I think this is fixed in the latest H2 driver and is available by upgrading the sagex-h2 plugin.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#458
|
|||
|
|||
Lessons Learned
This post is to add some search keywords for people that may have similar problems that I did, (and had to read/search a bit to solve along with trial-and-error).
So, I recently upgraded to SageTV 7 (finally) and SJQ/Agent/UI were the first plugins I installed for automatic commercial skip. (BTW, I've read about how great the new plugin manager was, but never really understood until I used it—wow.) I had some issues with SJQ, so read all the documentation (great job) and searched this thread, but even then it took a bit to get things running as desired. 1) Selecting Show Clients in the UI hangs. Cause: Squeezebox Server. Unlike someone earlier in this thread, I didn't get any entries in my logs about H2 DB connectivity issues. I spent a lot of time testing connectivity, turning off firewalls, etc. I couldn't figure out why SJQ and SQJAgent (on the same computer) weren't communicating. When I finally found the post about port conflicts and configured the H2 Database to use port 9093 instead of 9092 that was resolved, (as well as some weird issues with my players suddenly stopping playback randomly). Did something change with the log file entries? Because it wasn't clear there that I even had a connectivity issue. Pointing to an H2 DB connection problem would have given me more information to go on. 2) UNC paths with spaces. I recently moved from WHS to Windows 7, but wanted to keep the Recorded TV share that's a default in WHS. (I don't remember exactly, but it seems like when I went from XP to WHS and used the "\\SageTV\Recorded TV" default share instead of "\\SageTV\TV" that I used before, I had to do something with wiz.bin. (I think I read somewhere that this wasn't the case anymore, but figured it would be better to just keep things the same as far as UNC paths were concerned.) Anyway, the current united_comskip_test.groovy download didn't like the space when adjustExeArgs was set to true, but that was easily fixed by adding a couple \" characters to the Tools.setExeArgs line. I'm not sure if this will break other scenarios as my server is the only client, but it works for me. 3) Using sjqv3_file_cleaner.groovy as an executable. OK, I'm dense, but it took me a little to figure out how to run a Groovy script as an Executable instead of just a Test Script. (FYI: add script: to the front—it's in the documentation, but you have to view the SJQv4 Scripting Details section to get it). IMHO, this cleanup step should be added to the comskip tutorial as if you're using comskip you probably want to clean up the related files too after deleting the video, no? Anyway, My scripts are on a UNC drive, but no spaces there so no \" needed—not sure if spaces would cause issues.
__________________
Home Network: https://karylstein.com/technology.html |
#459
|
|||
|
|||
Quote:
Quote:
Quote:
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#460
|
||||
|
||||
So if this is running as a cron job, I take it we don't have the ability as we did in v3 to run an immediate scan at the click of a button? I ask because sometimes I use that having had the task client off temporarily to reduce the load on my server, and then decide to fire it up and forced it to run right away. There have been a few other scenarios for me where that has been a handy feature...
__________________
Server: Win 10 Pro 64 Bit, Intel i5, 8 GB, Samsung EVO 850 500 GB for OS, WD Black 4 TB + WD Black 1 TB for Recordings, 36TB Synology 1019+ for DVD/Bluray Rips, Music, Home Movies, etc., SageTV Server 64 Bit Ver 9.2.6.976, HDPVR x 2, Bell TV 6131 Receiver x 2, USB-UIRT with 56 KHz Receiver Clients: PC Client x 2, HD-300 x 2 (1 Using Netgear MoCA Coax Bridges), SageTV Miniclient on NVidia Shield x 3 |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Plugin: MizookLCD (Alternate SageTV LCDSmartie Plugin) | cslatt | SageTV Customizations | 48 | 06-11-2012 10:44 AM |
SJQv4: Technology Preview | Slugger | SageTV v7 Customizations | 39 | 12-17-2010 01:17 PM |
SageTV Plugin Developers: Any way to see stats for your plugin? | mkanet | SageTV Software | 4 | 12-12-2010 10:33 PM |
MediaPlayer Plugin/STV Import: Winamp Media Player Plugin | deria | SageTV Customizations | 447 | 12-11-2010 07:38 PM |
SJQv4: Design Discussion | Slugger | SageTV v7 Customizations | 26 | 10-18-2010 08:22 AM |