Comskip

From ARGUS TV Wiki
(Difference between revisions)
Jump to: navigation, search
m
(Update Comskip Step 7)
Line 43: Line 43:
 
The default comskip.ini tries to avoid "too early and rigid" cuts, but nevertheless cuts "within 30 seconds" (personal experience); you might want to make this more "severe"...<br>
 
The default comskip.ini tries to avoid "too early and rigid" cuts, but nevertheless cuts "within 30 seconds" (personal experience); you might want to make this more "severe"...<br>
 
Thus we recommend that you, if you're not sure what to change, contact users within your region through the {{LINK-WEB}} [http://www.kaashoek.com/comskip/index.php Comskip Forum] to ask for specific assistance.
 
Thus we recommend that you, if you're not sure what to change, contact users within your region through the {{LINK-WEB}} [http://www.kaashoek.com/comskip/index.php Comskip Forum] to ask for specific assistance.
 +
 +
 +
The author of this article made pretty good experience by changing the default ini settings to the following more severe through change of these parameters (should apply at least to Region Switzerland/Germany/Austria, probably at least to Europe):
 +
{{BOX_CODE}}cut_on_ar_change=2{{BLUE}}; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable{{/BLUE}}<br>
 +
delete_show_before_or_after_current=1{{BLUE}}; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show{{/BLUE}}<br>
 +
after_logo=1{{BLUE}}; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint{{/BLUE}}<br>
 +
before_logo=1{{BLUE}}; set to number of seconds after logo appears comskip should start to search for silence to insert an additional cutpoint{{/BLUE}}<br>
 +
{{BLUE}}; some furthor optimization - not related to commercial detection{{/BLUE}}
 +
delete_logo_file=1{{BLUE}}; set to 1 if you want comskip to tidy up after finishing{{/BLUE}}<br>
 +
output_edl=0{{BLUE}}; 0=no edl file output, 1=edl file creation; edl file for XBMC and MP not needed{{/BLUE}}<br>
 +
verbose=0{{BLUE}};show a lot of extra info, level 5 is also OK, set to 0 to disable{{/BLUE}}{{/BOX_CODE}}
  
  
Line 53: Line 64:
  
 
=== Comskip Processing after each Recording ended ===
 
=== Comskip Processing after each Recording ended ===
 +
{{BOX_WARNING}}<b>Important</b><br>Running Comskip while watching TV or recordings could adversely affect the user experience. In this case, you may need to run {{LINK-WIKI}} [[#Comskip Batch Processing|Comskip Batch Processing]] at at a low/no use time.{{/BOX_WARNING}}
 +
 
To have {{ATV}} call Comskip, we use {{ATVSC}} Processing Commands.
 
To have {{ATV}} call Comskip, we use {{ATVSC}} Processing Commands.
  
Line 71: Line 84:
 
The easiest way to get this batch processing running, is to create two *cmd / *.bat files to
 
The easiest way to get this batch processing running, is to create two *cmd / *.bat files to
 
# Determine, which video files have not yet been comskip'ped
 
# Determine, which video files have not yet been comskip'ped
# Call the "create-Comskip" bat / cmd file for each file that has not been processed so far
+
# Call the "Create-Comskip" bat / cmd file for each file that has not been processed so far
# call the determination (No. 1) from within your task scheduler according to your desires
+
# Call the determination (the core cmd file) from within your task scheduler according to your desires
  
The master cmd/bat file could look like
+
The master/core cmd/bat file could look like
 
{{BOX_CODE}}@echo off<br>
 
{{BOX_CODE}}@echo off<br>
 
REM search for all *.ts files and run check with it (cmd) if a corresponding *.txt file exists (with or w/o. subdirs)<br>
 
REM search for all *.ts files and run check with it (cmd) if a corresponding *.txt file exists (with or w/o. subdirs)<br>
Line 100: Line 113:
 
REM *************************************************<br>
 
REM *************************************************<br>
 
REM echo end of subjob.{{/BOX_CODE}}
 
REM echo end of subjob.{{/BOX_CODE}}
 +
  
 
=== Comskip Real-time Processing ===
 
=== Comskip Real-time Processing ===
{{BOX_WARNING}}<b>Important</b><br>Running Comskip while watching TV or recordings could adversely affect the user experience. In this case, you may need to run Comskip at at a low/no use time.{{/BOX_WARNING}}
+
{{BOX_WARNING}}<b>Important</b><br>Running Comskip while watching TV or recordings could adversely affect the user experience. In this case, you may need to run {{LINK-WIKI}} [[#Comskip Batch Processing|Comskip Batch Processing]] at at a low/no use time.{{/BOX_WARNING}}
 +
 
 +
 
 +
With the proper settings, it is possible to run Comskip as a parallel process when the recording starts and have data available almost immediately, this means that you will be able to start watching the recording before it has finished and still skip the Commercial breaks (provided you don't catch up to the live point).<br>
 +
However, results may vary. Many people find Comskip to be unstable when running it "live".
 +
 
  
 +
The following parameters influence the live TV behavior, you usually only have to set "live_tv" to 1 to get it properly working together with {{ATV}}:
 +
{{BOX_CODE}}live_tv=0{{BLUE}}; set to 1 if you use parallel processing and need the output while recording{{/BLUE}}<br>
 +
live_tv_retries=4{{BLUE}}; change to 16 when using live_tv in BTV, used for mpeg PS and TS{{/BLUE}}<br>
 +
dvrms_live_tv_retries=300{{BLUE}}; only used for dvr_ms{{/BLUE}}<br>
 +
standoff=0{{BLUE}}; change to 8000000 when using live_tv in BTV{{/BLUE}}{{/BOX_CODE}}
  
{{BOX_INFO}}<b>Information</b><br>With the proper settings, it is possible to run Comskip when the recording starts and have data available almost immediately, this means that you will be able to start watching the recording before it has finished and still skip the Commercial breaks (provided you don't catch up to the live point). However, results may vary. Many people find Comskip to be unstable when running it "live".{{/BOX_INFO}}
 
  
 
== Activating Comskip from within {{ATV}} schedules ==
 
== Activating Comskip from within {{ATV}} schedules ==

Revision as of 15:00, 4 December 2012

ICN CONSTR RED.PNG Under Construction
This article is right now under construction. It may be only partly readable. Please do not touch any of the content at the moment - please visit this page later again.


Contents

About

Comskip is a free video commercial detector. It is a windows console application that reads a video file and analyses the content based on a large amount of configurable parameters. After analysis it generates a file in various possible formats containing the location of the commercials inside the video file.
Comskip can read MPEG and h.264 video, MPEG2, AC3 and AAC audio from PS , TS and dvr-ms files upto HD resolution (max 2000x1200) at 25fps (PAL) and 29.97fps (NTSC).
Comskip can NOT read copy protected recordings.
The h.264 (HD) and WTV version is still in beta test and currently available for donators only.

To experience the effect of Comskip, you need a Client (front-end; player) that supports skipping of commercials.
Front-ends, known to support commercial skipping:

  • MediaPortal
  • XBMC

Front-ends, known NOT to support commercial skipping:

  • Windows Media Player
  • Windows Media Center

Comskip has a companion application called "Comclean" that can permanently remove the commercials from recordings. This is useful if you wish to keep recordings as it reduces file sizes. Comskip also supports the MPEG cutters mpgtx, cuttermaran, and mencoder. Cutting recordings usually means a (automatic, but not lossless) decode, cutting, and then re-encode of the video file.

ICN WARN.PNG Important
ARGUS TV only calls Comskip to process a recording, after that it is up to Comskip to use the settings you have provided it, and your client software to use the created marker file info to skip the adverts.


Versions & Download

At the time of writing there are two main versions of Comskip (although it's over all officially still a 0.x version - a beta).
The basic version, and the Donator version. The Donator version is capable of processing h.264 (HD) and supports latest analyzing features (of logos, ratio change, etc.) amongst some other things.

ICN WEB.PNG

Web Site & Download


Installing & Configuring Comskip

Comskip is supplied as a .zip file, installing it is as simple as unzipping it and placing it to the location of your choice.
The included settings ("comskip.ini") is suitable for many users already and applies "moderate severe commercial detection".
Three very profound guides, absolutely worth to be read, are available from Comskip Website under ICN WEB INLINE.PNG http://www.kaashoek.com/comskip.

ICN INFO.PNG Information
All examples and references in this article will assume that "comskip.exe" is located in "C:\Program Files\Comskip\comskip.exe".
If this is not the case, use your chosen location instead. eg. "C:\Program Files (x86)\comskip81_049_donators\comskip.exe"

Configuring Comskip basically means editing "comskip.ini" - carefully read the included "manual.html". To tweak the configuration may be quite complex and may lead to side-effects, thus, it is recommended to tweak settings step by step and looking at the result. During this time, you should not enable cutters or Comclean as the result may be - depending on your settings - irreversible.
Also, the result is strongly depending on your providers and channels, it's quite strongly depending on "broadcast policies" of the individual providers: some show their logos for some more seconds, some move it to a different location showing a kind of PIP ad, some do change aspect ratio, some not, etc.
In addition, of course, it strongly depends on your own preferences.
The default comskip.ini tries to avoid "too early and rigid" cuts, but nevertheless cuts "within 30 seconds" (personal experience); you might want to make this more "severe"...
Thus we recommend that you, if you're not sure what to change, contact users within your region through the ICN WEB INLINE.PNG Comskip Forum to ask for specific assistance.


The author of this article made pretty good experience by changing the default ini settings to the following more severe through change of these parameters (should apply at least to Region Switzerland/Germany/Austria, probably at least to Europe):

cut_on_ar_change=2; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable

delete_show_before_or_after_current=1; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
after_logo=1; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
before_logo=1; set to number of seconds after logo appears comskip should start to search for silence to insert an additional cutpoint
; some furthor optimization - not related to commercial detection delete_logo_file=1; set to 1 if you want comskip to tidy up after finishing
output_edl=0; 0=no edl file output, 1=edl file creation; edl file for XBMC and MP not needed
verbose=0;show a lot of extra info, level 5 is also OK, set to 0 to disable


Using & Calling Comskip

Comskip policies
There are three basic policies of using comskip - depending on your own preferences and your infrastructure.

  1. Comskip processing after each recording ended (designed for and recommended)
  2. Comskip Batch Processing while your system is less loaded or idle (reducing resource load)
  3. Comskip Real-time Processing - watch the ad-less result while being broadcasted

Comskip Processing after each Recording ended

ICN WARN.PNG Important
Running Comskip while watching TV or recordings could adversely affect the user experience. In this case, you may need to run ICN WIKI INLINE.PNG Comskip Batch Processing at at a low/no use time.

To have ARGUS TV call Comskip, we use ARGUS TV Scheduler Console Processing Commands.

First we need to create the command. Start by opening the ARGUS TV Scheduler Console and going to Processing Commands.

  • Create a new command and give the it a name that will easily identify it later.
  • Set the path to "C:\Program Files\Comskip\comskip.exe" (adopt to your individual setup or use a *.cmd/*.bat file you created).
  • Set when the command should run.
  • Set whether this command should apply to all new schedules.
  • Save the command.
  • Apply this post-processing entry to any schedules you already defined, that should be processed.

Be aware, that this means an additional load to your machine after each recording (and potentially parallel to other recordings). From our experience, this load is considerable low, but you should watch your (other) recordings if you're running your machines "near the limits".
Comskip as a processing command is running invisibly, no CMD window will appear on your screen. The processing time per recording takes, depending on length and resolution of your recording, approx. 1-5 minutes, even on weaker systems.

Comskip Batch Processing

You may want to decide, that your Comskip application runs as a kind of batch process, compiling all the non-scanned recordings (yet).
This is especially recommended, if your system tends to be "fully loaded" and you encounter already from time to time broken records. It means, of course, that the Comskip information for your front-end or client is only provided some other time, means: later than "some minutes after the recording".
The easiest way to get this batch processing running, is to create two *cmd / *.bat files to

  1. Determine, which video files have not yet been comskip'ped
  2. Call the "Create-Comskip" bat / cmd file for each file that has not been processed so far
  3. Call the determination (the core cmd file) from within your task scheduler according to your desires

The master/core cmd/bat file could look like

@echo off

REM search for all *.ts files and run check with it (cmd) if a corresponding *.txt file exists (with or w/o. subdirs)
FORFILES /m *.ts /s /c "cmd /c Slave-Cmd-File.cmd @fname"

The called (slave) cmd/bat file that the above core refers to, could look like

@echo off

REM Create Comskip txt info, if not existent
IF EXIST %1.txt GOTO FOUND_TXT_FOR_TS
GOTO NOT_FOUND_TXT_FOR_TS

:FOUND_TXT_FOR_TS
REM *************************************************
REM *.txt file found - no action required
REM You can add your own action here
GOTO END

:NOT_FOUND_TXT_FOR_TS
REM *************************************************
REM NO TXT Files are found to corresponding *.ts file -> RUN Comskip
comskip %1.ts
GOTO END

:END
REM *************************************************
REM echo end of subjob.


Comskip Real-time Processing

ICN WARN.PNG Important
Running Comskip while watching TV or recordings could adversely affect the user experience. In this case, you may need to run ICN WIKI INLINE.PNG Comskip Batch Processing at at a low/no use time.


With the proper settings, it is possible to run Comskip as a parallel process when the recording starts and have data available almost immediately, this means that you will be able to start watching the recording before it has finished and still skip the Commercial breaks (provided you don't catch up to the live point).
However, results may vary. Many people find Comskip to be unstable when running it "live".


The following parameters influence the live TV behavior, you usually only have to set "live_tv" to 1 to get it properly working together with ARGUS TV:

live_tv=0; set to 1 if you use parallel processing and need the output while recording

live_tv_retries=4; change to 16 when using live_tv in BTV, used for mpeg PS and TS
dvrms_live_tv_retries=300; only used for dvr_ms
standoff=0; change to 8000000 when using live_tv in BTV


Activating Comskip from within ARGUS TV schedules

Next we need to edit the existing recording schedules to include the new Processing Command. Open the Recordings page.

  • Choose a schedule to add Comskip to, and click the "Edit" button
  • In the "Processing" field, Select the newly created comskip command.
  • Save the schedule.
  • Repeat for every schedule you want to run Comskip with.
ICN INFO.PNG Information
You can set up several processing commands and apply them to schedules depending on your watching habbits. For example, you could have commands called "Cmoskip, Record end" and "Comskip, 2am". Then manually apply the first to the schedule that records the News and the second to all other recordings

Client-specific Behaviour

MediaPortal

Mediaportal can use Comskip data when playing recorded TV, but only through the TV section (not Videos etc.) To make it work, you must check the "use Comskip Data" (Confirmation of name needed) checkbox in the TV section of MediaPortal Configuration. After that, it should just work.

XBMC

XBMC fully supports comskip'ped files. It requires (only) the default created text files (*.txt) with the same root name and in the same directory as the recorded show. EDL file creation may safely be deactivated.
Since XBMC 12.0 Frodo, the jump table is presumed and a seamless jump is guaranteed. The actual result, however, is of course depending on the generated Comskip file (*.txt) and thus on your settings.

Namespaces

Variants
Actions
Navigation
Toolbox