SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Customizations
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

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.

Reply
 
Thread Tools Search this Thread Display Modes
  #21  
Old 02-28-2005, 10:30 PM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Thanks Wheemer.

I've just posted version 0.1.1. See the first message of this thread.

It should fix all the issues posted so far. Keep the bug reports coming!

Enjoy,
Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #22  
Old 02-28-2005, 10:50 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
Testing now... I'll let it run overnight and report in the morning. Initally it seemed to be working perfectly for me. Hopefully my video directory won't be empty when I wake up.... just kidding!

One more idea for a new feature: I had mentioned this to the other Andy and his VB script to process comskip... what about an ignore filename list?

I need this for comskip, but it could be useful for other processors as well. What I mean specifically is if a filename contains a text string that matches user entery in DirMon, it is skipped over no matter what. Your program logic could just pretend the file is being written to if it finds a match. I want to skip processing shows like Carnival for comskip, as they have no commercials. Since I'm on a media server, there is no telling what channel # it was recorded on. It could be useful for captioning as well, if you know certain shows will never have captions etc.

You could have a few boxes on the DirMon screen to enter ignore names, or a little .cfg file for them in the dirmon directory.

Andy
Reply With Quote
  #23  
Old 03-01-2005, 08:09 AM
rsagetv99's Avatar
rsagetv99 rsagetv99 is offline
Sage Fanatic
 
Join Date: Nov 2004
Posts: 766
Hey Jere, I was just wondering about the program you mentioned Mpg2Srt. After doing a little searching it looks as if it is for CC processing. Does this program process CC for shows encoded with the PVR150 cards as well? I know SAGE does not support this yet...
Reply With Quote
  #24  
Old 03-01-2005, 08:37 AM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Quote:
Originally Posted by rsagetv99
Hey Jere, I was just wondering about the program you mentioned Mpg2Srt. After doing a little searching it looks as if it is for CC processing. Does this program process CC for shows encoded with the PVR150 cards as well? I know SAGE does not support this yet...
Mpg2Srt extracts the captions that are embedded into the "user data" of an MPEG recording. It is the same place that Sage gets them.

As far as I know, the PVR-150/500 and PVR-USB's can not embed the captions into the MPEG stream. This is a driver problem that is up to Hauppauge to fix.

So, it's not that Sage doesn't support it "yet", it's that there is nothing to support.

Sorry,
Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #25  
Old 03-01-2005, 08:57 AM
rsagetv99's Avatar
rsagetv99 rsagetv99 is offline
Sage Fanatic
 
Join Date: Nov 2004
Posts: 766
Quote:
Originally Posted by Jere_Jones
Mpg2Srt extracts the captions that are embedded into the "user data" of an MPEG recording. It is the same place that Sage gets them.

As far as I know, the PVR-150/500 and PVR-USB's can not embed the captions into the MPEG stream. This is a driver problem that is up to Hauppauge to fix.

So, it's not that Sage doesn't support it "yet", it's that there is nothing to support.

Sorry,
Jere
My understanding was that the CC data is there in some form, but the driver for the 150 was written differently than the 250. However, Media Center apparently does support CC on the 150 through some other method not reliant upon the driver. I was hoping that Mpg2Srt was also using this method but I guess not. Thanks for the info.
Reply With Quote
  #26  
Old 03-01-2005, 12:59 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
Jere,

The new version of your utility appears to work fine. All the previous bugs and features seem AOK to me after testing.

Can command line arguments be passed to processors in the DirMon config boxes?

Any thoughts on my ignore list idea?

Thanks,

Andy
Reply With Quote
  #27  
Old 03-01-2005, 02:42 PM
justme justme is offline
Moderator
 
Join Date: Mar 2003
Location: Greater Baltimore/Washington Metropolitan area
Posts: 1,481
I too am having good results with the new version. Thanks for the send to tray on "X".

One thing I'm wondering about though is the triggers. Right now they launch a processor if they are not present for a source ext. So if you use "mpg" as source and "txt" as a trigger, I believe the logic(and,or,not,etc) for comskip works out to...
("mpg" and (not"txt"))= true for comskip launch
where the presence of the triggers/source=1/true and a result of 1/true will launch the proccessor(comskip in this case).

Could you add the ability to make triggers be inverted or "not"ed, so that their presence would launch a proccess? In other words... If there was a txt file for the mpg source, the processor would run comskip in the example above. Of course this makes little sense for comskip, but would have obvious value for other processors and their triggers/source. Am I just missing an obvious way to set this up or is this actually not possible in the current version?

Along a similiar line of thought. The input entry box for triggers seems to be using "or" logic to evaluate the extention. I'm saying "or" logic since the entry of mutliple triggers launches the proccessor if any, of the entered triggers, are present. Would it be doable for you to add a simply type of binary logic evaluation(maybe even using "()" to determine the order of evaulation) based on the standard symbols for and,or,not. This is really overkill but some kind of simple options for changing/extending the logic of trigger, multitrigger and source interaction would be great. This is especially usefull where 2 or more triggers are used and the desired result depends on the simultaneous presence of some triggers and absence of others to launch a proccessor.

I hope this made sense especially the third paragragh. Still the abilities I speak of in paragragh one and two are more important, for now.

Edit>Thinking it over... I guess the easiest thing to do would be to add a second trigger entry box for each proccessor. This box would still allow multitriggers and use "or" logic, so the presence of any of these extentions would result in a true for that trigger box. You could then use "and" logic on the two(original and proposed) trigger boxes to determine whether the proccessor ran or not. This would seem to give a greater degree of flexiability than currently, yet still not require you to get into complex logic evaluations.<Edit

Thanks again for the great application.

/justme

Last edited by justme; 03-01-2005 at 03:07 PM.
Reply With Quote
  #28  
Old 03-01-2005, 03:11 PM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Wow! I originally thought this was going to be an easy project. Me thinks I was a little naive.

Ignore list:
This shouldn't be hard. I'll probably implement it as a case-insensitive wildcard though. So Nova* will match Nova-StringTheory-12344-0 but not CarAndDriver-WhyTheNovaBombed-12345-0 whereas *Nova* would match both.

Command Line Options for processors:
Already possible. After you choose the processor, just put the command line options after the quotes (if there are any).

Extended logic on triggers:
I'm going to have to think this over, but I want to make sure I understand your request. For each processor you want 2 possible triggers: one's presence runs a processor, the other's absence runs a processor. If both options are filled in then what? Can I get a non abstract example so I can wrap my head around it?
A possible problem is a program like comskip that produces the trigger before the trigger is really complete. How would DirMon know if the trigger is really there or just a place holder?

Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #29  
Old 03-01-2005, 03:39 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
Jere,

Thanks for your work on this program. It is already made my media server better. If you want to leave it just a small step from greatness, I'm sure we'll all understand!

I think some of the extra work you're noticing is that we are all thinking rather globally about what might be useful to others in other configs, or for us in the future with processors yet unthought of. A little more tuning now may give this little util legs for a long time.

More boolean logic on triggers wasn't my idea, but perhaps I can make a suggestion to simplify it some:

Process the processor lines from top to bottom, so the top one takes priority and is exceuted/checked first. Only allow processor lines ONE action - run on a trigger, or run on the absence of a trigger. It is possible to start running on absence of a trigger, then drop down to the next processor line and now that the trigger exists, run on that as well. This issue would be the responsiblity of the person who configures the software.

I think under this concept (and again this wasn't my idea!) you'll need a few more lines for processors. Three probablly won't cut it then. I suppose it is possible people could want to more slightly more than three processors anyway.

Andy
Reply With Quote
  #30  
Old 03-01-2005, 03:59 PM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Quote:
Originally Posted by snipeman
If you want to leave it just a small step from greatness, I'm sure we'll all understand!
Small step! Ha!
Quote:
Originally Posted by snipeman
I think some of the extra work you're noticing is that we are all thinking rather globally about what might be useful to others in other configs, or for us in the future with processors yet unthought of. A little more tuning now may give this little util legs for a long time.
This is exactly why I made it so general to begin with. Making a program exactly like this that only runs comskip and mpg2srt would have been easy! But do I take the easy way? Noooooo. Why? Because that would have been easy! ...uh... or something like that.
Quote:
Originally Posted by snipeman
Process the processor lines from top to bottom, so the top one takes priority and is exceuted/checked first. Only allow processor lines ONE action - run on a trigger, or run on the absence of a trigger. It is possible to start running on absence of a trigger, then drop down to the next processor line and now that the trigger exists, run on that as well. This issue would be the responsiblity of the person who configures the software.
Right now processing starts on the oldest file. It runs the processors in order (top down) until the oldest file doesn't need anything, then it moves to the next oldest file.
Eventually, I plan on making that a little customizable.
Quote:
Originally Posted by snipeman
I think under this concept (and again this wasn't my idea!) you'll need a few more lines for processors. Three probablly won't cut it then. I suppose it is possible people could want to more slightly more than three processors anyway.
I figured that was coming, so I wrote it so that an unlimited number of processors can be added, I just didn't know how to do the GUI for that so I left it at three. I want the GUI to be visible on a overscanned 640x480 screen so I'm a little limited on available real estate. Next version will probably go to tabs. One for general settings and one for each processor.

That's the plan...

However... right now I have my head buried in this mpeg decoder that I'm writing for Comskip TNG. So if updates (except for bug fixes) come a little slow, you now know why.

Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #31  
Old 03-01-2005, 04:15 PM
justme justme is offline
Moderator
 
Join Date: Mar 2003
Location: Greater Baltimore/Washington Metropolitan area
Posts: 1,481
Man, I leave for a while and the whole thread takes off. :)

Quote:
I'm going to have to think this over, but I want to make sure I understand your request. For each processor you want 2 possible triggers: one's presence runs a processor, the other's absence runs a processor.
Yep that's what I'd like.
Quote:
If both options are filled in then what?
They both have to be true for the processor to run. Since if the user only desired one trigger box or the other, then they can leave the unneeded one blank. A blank entry would mean it doesn't figure into the logic at all.
Quote:
Can I get a non abstract example so I can wrap my head around it?
I was thinking of some ways to tune(with some info dumped by a custom STV) Comskip to run specific ini/dictionaries for certian shows/channels. I was also thinking of other future uses outside of Sage. I haven't really gotten into the exact details yet, as you responded so quickly.

Quote:
I think some of the extra work you're noticing is that we are all thinking rather globally about what might be useful to others in other configs, or for us in the future with processors yet unthought of. A little more tuning now may give this little util legs for a long time.
Snipeman,
You nailed it on the head. Your changes/simplifications would be fine with me if there were more than 3 lines, like you point out. But the execution order would need to be top to bottom for each file, not like Jere says it is right now.

All,
In the end if you could please just add a run on presense option I'd be very gratefull. You could do this as I suggested(two boxes that must both be true) or Snipeman's concept of a check box to determine whether the single trigger box's entries are checked for existance or nonexistance.


Quote:
However... right now I have my head buried in this mpeg decoder that I'm writing for Comskip TNG. So if updates (except for bug fixes) come a little slow, you now know why.
Please don't let me distact you from Comskip TNG. I'm eagerly awaiting it.

Sorry for the messy reply I'm just leaving,
/justme

Last edited by justme; 03-01-2005 at 04:18 PM.
Reply With Quote
  #32  
Old 03-01-2005, 04:28 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
Jere, 640x480 is a great idea, who knows what old school 14" VGA is hooked up to media servers or servers in general. Tabs is the way to go.

I agree with Justme, please don't let us distract you from ComSkip, as that is the main point of this anyway.

Just make v0.1.2 with my ignore list, then I'll leave you alone

Andy
Reply With Quote
  #33  
Old 03-01-2005, 04:34 PM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Quote:
Originally Posted by snipeman
Jere, 640x480 is a great idea, who knows what old school 14" VGA is hooked up to media servers or servers in general. Tabs is the way to go.
I was thinking more along the lines of SVideo out, but you're right. I can't expect that a user will have a certain level of technology.
Quote:
Originally Posted by snipeman
Just make v0.1.2 with my ignore list, then I'll leave you alone

Andy
I'll probably release it Thursday. Cristina's coming back after being gone for a week, so no programming for me after 7:30!!

Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #34  
Old 03-04-2005, 03:54 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
Jere,

2 questions:

MPG2SRT is crashing on my plain install XPPRO media server about once every other day. I've never run it before running DirMon, is it possible how it is launched is an issue? In general, does anyone have trouble with it crashing on their PC? I look at my media server, and Windows wants to send an error report, and that is the cause. It is intermitent, it will process 40 files, then GPF once.

Secondly, another feature idea (I know, just what you wanted!). What about a programmable Blackout time range. Say from 7 to 10PM while HD shows are recording, I'd perfer not to have COMSKIP run as it is so CPU intensive. Other people may have other uses for blackout times, and file ignore list.

Thanks,

Andy
Reply With Quote
  #35  
Old 03-04-2005, 09:18 PM
flashbacck flashbacck is offline
Sage Aficionado
 
Join Date: May 2004
Posts: 326
Does Dirmon detect when the HTPC is being used or under load before starting a process? For example, if I'm watching a DVD while something is recording, once that recording is finished, is are the processes immediately started?
__________________
C2D e6320
P4M800Pro, 1gb DDR, 1100GB HDs
Hauppauge HVR-1600, HDHomerun, Geforce 6200
Reply With Quote
  #36  
Old 03-04-2005, 09:41 PM
Jere_Jones's Avatar
Jere_Jones Jere_Jones is offline
Sage Fanatic
 
Join Date: Apr 2004
Location: Jacksonville, FL
Posts: 993
Quote:
Originally Posted by snipeman
MPG2SRT is crashing on my plain install XPPRO media server about once every other day. I've never run it before running DirMon, is it possible how it is launched is an issue? In general, does anyone have trouble with it crashing on their PC? I look at my media server, and Windows wants to send an error report, and that is the cause. It is intermitent, it will process 40 files, then GPF once.
I doubt DirMon is to blame, but anything is possible. Try manually running MPG2SRT on a file that GPF'd on you and see if it duplicates.
Quote:
Originally Posted by snipeman
Secondly, another feature idea (I know, just what you wanted!). What about a programmable Blackout time range. Say from 7 to 10PM while HD shows are recording, I'd perfer not to have COMSKIP run as it is so CPU intensive. Other people may have other uses for blackout times, and file ignore list.
This is in the works. Each processor will be able to have it's behavior "throttled" by either time or cpu load of a process. For example if SageTV.exe is using over 25% cpu then DirMon will pause the processor until the cpu usage has dropped. At least, that's the plan.

Quote:
Originally Posted by flashbacck
Does Dirmon detect when the HTPC is being used or under load before starting a process? For example, if I'm watching a DVD while something is recording, once that recording is finished, is are the processes immediately started?
For now, DirMon is completely unaware of the world around it. In the future, it will be able to restrict processing depending on the situation.

Jere
__________________
Death to commercials!!!
Latest ShowAnalyzer Beta version: 0.9.7
Reply With Quote
  #37  
Old 03-05-2005, 03:40 AM
abasu2003's Avatar
abasu2003 abasu2003 is offline
Sage Expert
 
Join Date: Jul 2004
Posts: 551
I keep getting an error that says "First processor cannot be found"

I have tried this with the default comskip as you'll see and just random exe files and nothign seems to work. The paths are definitely correct and just to make sure, I use the directory browser the program has. I also tried it with quotes and without quotes. Any ideas?
Attached Images
File Type: jpg dirmon.JPG (98.0 KB, 351 views)
Reply With Quote
  #38  
Old 03-05-2005, 06:32 AM
bones71 bones71 is offline
Sage Advanced User
 
Join Date: Oct 2004
Posts: 105
abasu2003 Try putting a copy of the comskip files into the video directory. I had to with the updated version the old version found them in their regular location, but kept running on the same file.
Reply With Quote
  #39  
Old 03-05-2005, 12:53 PM
snipeman's Avatar
snipeman snipeman is offline
Sage Advanced User
 
Join Date: Jan 2004
Location: Big Easy
Posts: 195
CPU throttling sounds good,but I'd also like a blackout time where I can dictate that a process uses 0% of CPU. I'd like to be able to dictate a time range that a process never runs.

I don't run sage on my media server, and if comskip kicks off, it makes so much activity on the machine it has trouble feeding HDTV transport streams to my HTPC. Timeshifting HDTV transport streams is DISK intensive. My problem is more disk related than CPU related.

Andy
Reply With Quote
  #40  
Old 03-05-2005, 01:49 PM
abasu2003's Avatar
abasu2003 abasu2003 is offline
Sage Expert
 
Join Date: Jul 2004
Posts: 551
bones, I actually wanted a setup similar to yours, in that i wanted another computer on the network to actually use its processor to run comskip. Is that still possible if I have to use comskip thats on the sage computer?
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 06:27 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.