|
SageTV Customizations This forums is for discussing and sharing user-created modifications for the SageTV application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss customizations for SageTV version 6 and earlier, or for the SageTV3 UI. |
|
Thread Tools | Search this Thread | Display Modes |
#661
|
|||
|
|||
Quote:
Stop Sage, change the port for Jetty from 8443 to something else, restart Sage, load SJQ. 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... |
#662
|
||||
|
||||
I think I just had that "ah-ha" moment! It sounds like nielm's webserver does not use Jetty for SSL, but something else. Is that correct? Therefore, I need to set jetty.ssl.port=8441 (or whatever else isn't being used) and keep nielm's webserver on 8443. Then, I want to use SJQ and the Mobile Web Interface, which--I believe--both use Jetty and thus would both be using 8441. That's what I ALSO thought wasn't allowed. However, it's that SJQ and the Mobile Web Interface CAN use SSL on 8441 via Jetty, but only nielm's webserver can't?
Wow! That was a mouthful! |
#663
|
|||
|
|||
Yeah, you've got it figured out now...
__________________
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... |
#664
|
||||
|
||||
Thanks guys! Very much appreciated. It doesn't matter how much you work with computers or how much you think you know because there's always more to learn! I think they call that job security.
|
#665
|
||||
|
||||
I've now got access to the SSL version of SJQ and the Mobile Web Interface. Again... thanks!
I'm having a problem with the connection to the client, though. I installed the sjqc-ntsvc-2.1.4.468 to my WHS box and continued through the user guide. I got to the point of checking the communication between the task client and the SJQ server and they apparently are not. The service installed just fine. I changed the user for the service to the SageTV account I use for everything else. I also added this line because that's where I put the sjqc.properties file: wrapper.app.parameter.2=C:\sjqc\sjqc_winntsvc\conf I made sure that the properties file contains the hostname of my WHS box, the port I mentioned earlier, and the is_ssl is set to true. I checked the log file and it says: Code:
STATUS | wrapper | 2009/04/30 23:25:53 | Launching a JVM... INFO | jvm 1 | 2009/04/30 23:25:53 | WrapperManager: Initializing... INFO | jvm 1 | 2009/04/30 23:25:53 | SJQ Task Client v2.1.4.468 INFO | jvm 1 | 2009/04/30 23:25:53 | Using 'C:\sjqc\sjqc_winntsvc\conf' as location for configuration file... INFO | jvm 1 | 2009/04/30 23:25:53 | sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target INFO | jvm 1 | 2009/04/30 23:30:53 | sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target INFO | jvm 1 | 2009/04/30 23:35:53 | sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target |
#666
|
||||
|
||||
You got it!
Jetty is just an embedded Java server listening on ports. Applications (MWI, SJQ, SRE, etc) are installed in Jetty and it will direct traffic to them. Jetty wasn't around - or at least not as mature of a product, I'm not sure - when nielm wrote his web server. He embedded Tiny Java Web Server in his app. But only his app would run in the server, no other apps could be run in there. When I wrote the Mobile Web Interface I wanted to separate the server from the application so any number of apps could run on it and it would hopefully be easier to set up. There are some other reasons I switched to Jetty but I won't bore you with them. Slugger, stuckless, shadeblue, etc. have done a great job of adopting it. Porting Nielm's server is a big task that I haven't had time for so unfortunately it still runs on its own port.
__________________
Server: Intel Core i5 760 Quad, Gigabyte GA-H57M-USB3, 4GB RAM, Gigabyte GeForce 210, 120GB SSD (OS), 1TB SATA, HD HomeRun. Extender: STP-HD300, Harmony 550 Remote, Netgear MCA1001 Ethernet over Coax. SageTV: SageTV Server 7.1.8 on Ubuntu Linux 11.04, SageTV Placeshifter for Mac 6.6.2, SageTV Client 7.0.15 for Windows, Linux Placeshifter 7.1.8 on Server and Client, Java 1.6. Plugins: Jetty, Nielm's Web Server, Mobile Web Interface. |
#667
|
||||
|
||||
I did some further searching on the exception message I posted and some sites seem to indicate that it's an issue with the location of the certificate or possibly a password issue. My problem at this point is that I'm not sure if something else I screwed up is causing this or if this actually is the problem that needs to be addressed. Plus, I can't seem to comphrehend the solutions I'm finding.
|
#668
|
|||
|
|||
The error is suggesting that the SSL certificate you've installed for Jetty is not trusted (i.e. self-signed). Is this the case? The Java URL class (used to connect to the server in the task client) will not allow a connection to a non-trusted SSL cert and self-signed certificates are not trusted by Java. An easy way to determine if this is the case is to load the SJQ web site in your browser. Does the browser give you a security warning about the SSL cert? If this is indeed the problem, you'll either have to install a trusted cert from a trusted CA or have the task client connect over the non-SSL port.
Using the non-SSL port for task clients should be ok since no sensitive data in transmitted between task client and server. Just be sure to restrict task client connections in the SJQ configuration (from the web).
__________________
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... |
#669
|
||||
|
||||
I created the certificate using keytool, as outlined in the Jetty instructions. I do, indeed, get security warnings in my browser regarding the certificate. If I do not use SSL between the client and the SJQ server, does that mean that I can't use SSL to connect to the SJQ server over the internet?
|
#670
|
|||
|
|||
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... |
#671
|
||||
|
||||
Thanks for the hand-holding! Very much appreciated. I'm up and running and doing my first comskipping! Woo-hoo!
|
#672
|
||||
|
||||
Ruleset Question(s)
Okay, my first Ruleset question. What I want to do is set up the server to run 3 COMSKIP threads on my quad core under normal circumstances, except between 7pm and 11pm. Between 7pm and 11pm, I want to run 4 COMSKIP threads, but at LOW CPU usage.
With what I learned, I got to this point: Code:
# Comskip all scheduled recordings on "commercial" channels between 19:00 and 23:00 if [IsTV == true && IsScheduledRecording == true && ChannelName !% "HBO*|UHD|MAX*|MOMAX|STZ*|ENC*|SHO*|TMC*|HDNE*|PPV\\d+" && (TimeOfDay < "19:00" || TimeOfDay > "23:00") && FileExists != "%d%/%p%.edl"] { COMSKIP } # LOW Priority Comskip all scheduled recordings on "commercial" channels between 19:00 and 23:00 if [IsTV == true && IsScheduledRecording == true && ChannelName !% "HBO*|UHD|MAX*|MOMAX|STZ*|ENC*|SHO*|TMC*|HDNE*|PPV\\d+" && (TimeOfDay > "19:00" || TimeOfDay < "23:00") && FileExists != "%d%/%p%.edl"] { COMSKIPLOW } Back on track, I also have a matching COMSKIP which is set for NORMAL CPU usage and I have a COMSKIPLOW that's set for LOW CPU usage: Code:
// Total number of process this client can run at once; default is 1 if not specified :MAXPROCS 4 COMSKIP { // Total number of COMSKIP tasks this client can run at once; // if larger than MAXPROCS then the value is reset to equal MAXPROCS; // if not specified then default of 1 is used; // set to 0 for no limit (limited only by MAXPROCS setting); // set to negative number to temporarily disable execution of this task type by this client :MAX 3 // CPU priority to be used for this task process; one of LOW, NORMAL, HIGH (case sensitive) :CPU "NORMAL" // Default is NORMAL if not specified "C:/comskip/comskip.exe \"%c%\"" } COMSKIPLOW { // Total number of COMSKIPLOW tasks this client can run at once; // if larger than MAXPROCS then the value is reset to equal MAXPROCS; // if not specified then default of 1 is used; // set to 0 for no limit (limited only by MAXPROCS setting); // set to negative number to temporarily disable execution of this task type by this client :MAX 4 // CPU priority to be used for this task process; one of LOW, NORMAL, HIGH (case sensitive) :CPU "LOW" // Default is NORMAL if not specified "C:/comskip/comskip.exe \"%c%\"" } I won't ask the dumb question of whether there's a way to do what I want, since I'm quite certain there is based on the level of customization you built into this. But, would you be able to help me create such a thing? Thanks in advance! This SJQ is unreal! |
#673
|
|||
|
|||
Quote:
Quote:
This works as designed and won't be changed. If this is an ongoing issue then you could clear the queued tasks and rerun the QueueLoader at 7pm daily and again at 11pm, doing so would change the comskip task being used as needed. Though I have no plans on implementing such a feature in the SJQ core, you could script such a feature with a little work. The basic idea would be to write a script that does the following:
If you write this script then you just need to trigger it at 7pm and 11pm daily then you'll be set.
__________________
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... |
#674
|
||||
|
||||
Thanks, Slugger. I appreciate you taking the time to help me out. I'll be sure to read that Java document to get some further understanding. I think I'm going to skip the 7pm-11pm timeframe for any processing, rather than go for any sort of scripting like you described. Seems like too much work for just that tiny bit of extra processing.
|
#675
|
|||
|
|||
NT Service issue
The client seems to be working fine but I have an issue when using the client service instead.
The show analyzer jobs are not using my global settings and its causing SA to not output the needed EDL files. The SA log file shows the task is getting run but there are no EDL files. SA is not runing with my settings, I do not see the icon in the status tray that I normally see. SA works fine if I drag-n-drop a show onto the exe. I tested my client COMSKIP command by pasting it on the command line as a test (with UNC MPG inserted in path) and it worked fine. Here is the client config file: Code:
#Auto generated by SJQC #Sun May 03 16:52:42 PDT 2009 port=8081 host=sagetv is_ssl=false Code:
#******************************************************************** # Wrapper License Properties (Ignored by Community Edition) #******************************************************************** # Include file problems can be debugged by removing the first '#' # from the following line: ##include.debug #include ../conf/wrapper-license.conf #******************************************************************** # Wrapper Java Properties #******************************************************************** # Java Application wrapper.java.command=java # Java Main class. This class must implement the WrapperListener interface # or guarantee that the WrapperManager class is initialized. Helper # classes are provided to do this for you. See the Integration section # of the documentation for details. wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=../lib/wrappertest.jar wrapper.java.classpath.2=../lib/wrapper.jar wrapper.java.classpath.3=sjqc.jar wrapper.java.classpath.4=json.jar # Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=../lib # Java Additional Parameters #wrapper.java.additional.1= # Initial Java Heap Size (in MB) #wrapper.java.initmemory=3 # Maximum Java Heap Size (in MB) #wrapper.java.maxmemory=64 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=com.google.code.sagetvaddons.sjqc.TaskClient wrapper.app.parameter.2=c:/SJQC/ #******************************************************************** # Wrapper Logging Properties #******************************************************************** # Format of output for the console. (See docs for formats) wrapper.console.format=PM # Log Level for console output. (See docs for log levels) wrapper.console.loglevel=INFO # Log file to use for wrapper output logging. wrapper.logfile=../logs/wrapper.log # Format of output for the log file. (See docs for formats) wrapper.logfile.format=LPTM # Log Level for log file output. (See docs for log levels) wrapper.logfile.loglevel=INFO # Maximum size that the log file will be allowed to grow to before # the log is rolled. Size is specified in bytes. The default value # of 0, disables log rolling. May abbreviate with the 'k' (kb) or # 'm' (mb) suffix. For example: 10m = 10 megabytes. wrapper.logfile.maxsize=10m # Maximum number of rolled log files which will be allowed before old # files are deleted. The default value of 0 implies no limit. wrapper.logfile.maxfiles=12 # Log Level for sys/event log output. (See docs for log levels) wrapper.syslog.loglevel=NONE #******************************************************************** # Wrapper Windows Properties #******************************************************************** # Title to use when running as a console wrapper.console.title=SJQ Task Client for Windows #******************************************************************** # Wrapper Windows NT/2000/XP Service Properties #******************************************************************** # WARNING - Do not modify any of these properties when an application # using this configuration file has been installed as a service. # Please uninstall the service before modifying this section. The # service can then be reinstalled. # Name of the service wrapper.ntservice.name=SJQTaskClient # Display name of the service wrapper.ntservice.displayname=SJQ Task Client for Windows # Description of the service wrapper.ntservice.description=A task client for the SJQ SageTV plugin # Service dependencies. Add dependencies as needed starting from 1 wrapper.ntservice.dependency.1= # Mode in which the service is installed. AUTO_START or DEMAND_START wrapper.ntservice.starttype=AUTO_START # Allow the service to interact with the desktop. wrapper.ntservice.interactive=false Code:
STATUS | wrapper | 2009/05/01 23:05:09 | Launching a JVM... INFO | jvm 1 | 2009/05/01 23:05:09 | WrapperManager: Initializing... INFO | jvm 1 | 2009/05/01 23:05:09 | SJQ Task Client v2.1.3.420 INFO | jvm 1 | 2009/05/01 23:05:09 | Using 'c:/SJQC/' as location for configuration file... STATUS | wrapper | 2009/05/03 12:11:33 | <-- Wrapper Stopped STATUS | wrapper | 2009/05/03 12:20:00 | --> Wrapper Started as Service STATUS | wrapper | 2009/05/03 12:20:00 | Java Service Wrapper Community Edition 3.3.1 STATUS | wrapper | 2009/05/03 12:20:00 | Copyright (C) 1999-2008 Tanuki Software, Inc. All Rights Reserved. STATUS | wrapper | 2009/05/03 12:20:00 | http://wrapper.tanukisoftware.org STATUS | wrapper | 2009/05/03 12:20:00 | STATUS | wrapper | 2009/05/03 12:20:00 | Launching a JVM... INFO | jvm 1 | 2009/05/03 12:20:01 | WrapperManager: Initializing... INFO | jvm 1 | 2009/05/03 12:20:01 | SJQ Task Client v2.1.3.420 INFO | jvm 1 | 2009/05/03 12:20:01 | Using 'c:/SJQC/' as location for configuration file... STATUS | wrapper | 2009/05/03 16:52:30 | <-- Wrapper Stopped Im running the latest SageMC 6.39a41 and SageTV 6.5.13 in stand-alone mode.
__________________
SageTV 6.6.2 and SageMC on WinXP 2Gb Ram, Athlon 1800+ AverMedia A180, Duet SJQ, MovieTimes, NetFlilx plugins |
#676
|
|||
|
|||
Best guess is that you'll have to explicitly point to the SA config file in your SJQ command line. From what you say, it seems SJQ is starting SA just fine so it's just a matter of ensuring that all the proper parameters are being passed into SA when called from SJQ.
__________________
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... |
#677
|
|||
|
|||
Specify INI in Command
I tried that. Here is my client config:
Code:
COMSKIP { "C:/program files/Dragon Global/ShowAnalyzer/ShowAnalyzer.exe \"%c%\" -ini \"C:\\program files\\Dragon Global\\ShowAnalyzer\\Settings\\global.ini\"" } Is there some debug I can use to get more info? Is there a way to specify a working directory for the COMSKIP job? Maybe I should run a batch file to accomplish this?
__________________
SageTV 6.6.2 and SageMC on WinXP 2Gb Ram, Athlon 1800+ AverMedia A180, Duet SJQ, MovieTimes, NetFlilx plugins |
#678
|
|||
|
|||
Take a look at the task logs for a task that ran (click on a completed task and view the log). The first line will show the complete command line that was executed. Make sure your command args were passed in properly. Currently there is no option to specify the working dir. Yes, perhaps a batch file will help with the issues.
__________________
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... |
#679
|
|||
|
|||
Quote:
showanalyzer.bat cd "C:\program files\Dragon Global\ShowAnalyzer\" c: start /b /w /belownormal ShowAnalyzer.exe "%~f1" your client rule should look similar to this. SHOWANALYZER { :CPU BELOWNORMAL :MAX 2 "S:\\mysagelocal\\ShowAnalyzer.bat \"%c%\"" }
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. |
#680
|
|||
|
|||
Slugger,
I have a ruleset that checks if someone is viewing media but It appears that even if a client is viewing media it still passes the test. Does it have to be viewing the file I am running a test for or does this apply to all media viewing. Code:
//Ok To Reboot if [IsSomethingRecording == "false" && IsActivelyRecording == "false" && IsArchived == "true" && IsManualRecord == "true" && IsViewingMedia == "false" && TranscodeQueueSize < "1"&& TimeUntilNextRecording > "15M" && FileExists == "c:\\oktoreboot.txt" && Title == "Not Recording"]{ :PRIORITY 110 OKTOREBOOT } 2009/05/06 12:23:04.640 Line 83: Evaluating 'IsSomethingRecording == "false"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'IsActivelyRecording == "false"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'IsArchived == "true"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'IsManualRecord == "true"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'IsViewingMedia == "false"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'TranscodeQueueSize < "1"' == true 2009/05/06 12:23:04.640 Line 83: Evaluating 'TimeUntilNextRecording > "15M"' == true 2009/05/06 12:23:04.640 MediaVar '%s%' == 'NotRecording' 2009/05/06 12:23:04.640 MediaVar '%y%' == '' 2009/05/06 12:23:04.640 MediaVar '%c%' == 'M:\importuncm\NotRecording-NotRecording-2211154-0.mpg' 2009/05/06 12:23:04.640 MediaVar '%d%' == 'M:\importuncm' 2009/05/06 12:23:04.640 MediaVar '%f%' == 'NotRecording-NotRecording-2211154-0.mpg' 2009/05/06 12:23:04.640 MediaVar '%e%' == 'mpg' 2009/05/06 12:23:04.640 MediaVar '%p%' == 'NotRecording-NotRecording-2211154-0' 2009/05/06 12:23:04.640 MediaVar '%t%' == 'Not Recording' 2009/05/06 12:23:04.640 Line 83: Evaluating 'FileExists == "c:\oktoreboot.txt"' == false 2009/05/06 12:23:04.640 Line 83: Evaluating 'Title == "Not Recording"' == true
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. Last edited by nyplayer; 05-06-2009 at 01:26 PM. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Plugin: Sage Job Queue (SJQ) v3 | Slugger | SageTV Customizations | 1355 | 07-25-2013 07:44 AM |
Sage Job Queue (SJQ) new release notifications | Slugger | Customization Announcements | 3 | 12-17-2009 09:59 AM |
Sage Job Queue Completed tasks problem | raffmanlt | SageTV Customizations | 2 | 08-18-2009 07:34 PM |
Comskip Monitor VS Sage Job Queue SJQ | personalt | SageTV Customizations | 6 | 03-02-2009 10:27 AM |
Plugin: SJQ v1.1.0RC1 Available - Testers Needed | Slugger | SageTV Customizations | 35 | 04-21-2008 08:12 AM |