PID Selection

Here you can ask your questions on how to use Comskip for the detection of commercials. Also questions on how to remove commercials are welcome
Post Reply
wntrmte
Posts: 15
Joined: Thu Mar 23, 2006 4:30 am

PID Selection

Post by wntrmte »

erik,

I am having trouble with PID selection. Most of the digital OTA stations in my US area have subchannels. If I record a station on a sub-channel, comskip is selecting the first sub-channel. I using comskip in conjunction with BTV 4.6. On channels where there is only one channel or I have recorded a show with the focus on the first sub-channel, comskip ROCKS!
I would like to tweak another 10 seconds of the end of each cut, but that will be for later. A great improvement over SmartSkip! However, how do I auto-select the PID stream of a show that is on a sub-channel. I am trying to setup an automated processing of shows like this:
Show is recorded.
BTV tags the file.
CustomPostProcessing.xml runs Posthaste.exe.
PostHaste runs a batch file.
Batch file runs VideoRedo QSF.
Comskip detects commercials and outputs BTV and VDR cutlists. (VDR for later if I want to cut out the commercials to archive the show elsewhere)
BTV runs ShowSqueeze and compresses.

This is my goal. How do I pass on the PID I desire automatically? Is there some field comskip can read for the desired PID after BTV tags the file when done recording?

Hmm...I may have the cart before the horse here. I may need to find out how to do that for VideoRedo's Quick Stream Fix first and then only have the remaining stream for Comskip to parse.

Hmmm...help?

Greg
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Post by erik »

You can give commandline parameter to comskip to specify the video PID to use
--pid=40
where the PID is in hexadecimal notation
When you invoke comskip inside a cmd.exe window without any arguments it will show all its commandline parameters.

Code: Select all

The commandline used was:
comskip

Usage:
  comskip  [-h|--help] [-w|--debugwindow] [-n|--playnice] [--zpcut] [--zpchapter] [--videoredo] [--csvout] [-m|--demux] [-p|--pid=<string>] [-t|--ts] [-d|--detectmethod=<int>] [-v|--verbose=<int>] [-u|--dump=<int>] [--ini=<file>] [--logo=<file>] [--cut=<file>] <file>

  -h, --help                Display syntax
  -w, --debugwindow         Show debug window
  -n, --playnice            Slows detection down
  --zpcut                   Outputs a ZoomPlayer cutlist
  --zpchapter               Outputs a ZoomPlayer chapter file
  --videoredo               Outputs a VideoRedo cutlist
  --csvout                  Outputs a csv of the frame array
  -m, --demux               Demux the input into elementary streams
  -p, --pid=<string>        The PID of the video in the TS
  -t, --ts                  The input file is a Transport Stream
  -d, --detectmethod=<int>  An integer sum of the detection methods to use
  -v, --verbose=<int>       Verbose level
  -u, --dump=<int>          Dump the cutscene at this frame number
  --ini=<file>              Ini file to use
  --logo=<file>             Logo file to use
  --cut=<file>              CutScene file to use
  <file>                    Input file

Detection methods available:
          1 - Black Frame
          2 - Logo
          4 - Scene Change
          8 - Fuzzy Logic
         16 - Closed Captions
         32 - Aspect Ratio
         64 - Silence
        128 - CutScenes
        255 - USE ALL AVAILABLE

Errors:
ComSkip: missing option <file>
wntrmte
Posts: 15
Joined: Thu Mar 23, 2006 4:30 am

Post by wntrmte »

erik,

Thank you for your response. I had seen from the documentation that you could use a PID argument and I remember seeing on some forum on how to get a list of the PIDs in a file by purposely passing an incorrect PID to comskip and getting a listing.

I am aware there is an auto-select feature (new!) in comskip for attempting to select a PID in a multi-sub-channel stream. I am asking if there is a way for comskip to read the BTV file tagging information and pick the desired PID from that.

Regards,

Greg
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Post by erik »

I don't have/know BTV.
Where can I find some more information on this "tagging information"?
wntrmte
Posts: 15
Joined: Thu Mar 23, 2006 4:30 am

Post by wntrmte »

hmmm....not sure how to give you the information.
I know this is part of the process BeyondTV performs. It is the first thing to happen after a show is recorded. Then the CustomPostProcessing.xml takes over (if used) then SmartChapter (crappy commerical detection) then StreamSnip, then ShowSqueeze.

I've just learned the following:
"I've consulted with our developers and, unfortunately, it turns out there is no way to make streamsnipping happen before postprocessing. We will add this to our list of feature requests for future revisions of Beyond TV. We're sorry we can't offer you a solution at this time."

I will see if I can find some information.

Thanks,
Greg
psionic
Posts: 9
Joined: Tue Oct 31, 2006 12:25 am

Post by psionic »

wntrmte wrote:hmmm....not sure how to give you the information.
I know this is part of the process BeyondTV performs. It is the first thing to happen after a show is recorded. Then the CustomPostProcessing.xml takes over (if used) then SmartChapter (crappy commerical detection) then StreamSnip, then ShowSqueeze.

I've just learned the following:
"I've consulted with our developers and, unfortunately, it turns out there is no way to make streamsnipping happen before postprocessing. We will add this to our list of feature requests for future revisions of Beyond TV. We're sorry we can't offer you a solution at this time."

I will see if I can find some information.

Thanks,
Greg
They added the feature that allows you to change the order of the custom post-processing job in version 4.7.1.

Now you can ensure that your custom job is ran last after any BTV-related task (tagging, streamsnipping, smartchaptering, etc.)

I'm trying to figure out if the streamsnip always uses the pids 0x31 (Video), 0x33 (audio) or if it just deletes the extra streams.
Post Reply