A free commercial detector
C Shell Other
Switch branches/tags
Nothing to show
Clone or download
erikkaashoek Merge pull request #104 from hoffman373/QuickReview
Quick Method for Finding Commercial Start/End positions During Review
Latest commit 6030aa0 Jul 27, 2018
Permalink
Failed to load latest commit information.
ccextratorwin fix build warnings in ccextractor Sep 18, 2015
vendor add vendored argtable2.{lib,h} for windows Jul 30, 2015
.gitignore Audio panic solved and libavcodec upgrade Mar 25, 2018
.travis.yml Fix Travis CI (#88) Nov 10, 2017
DDRAW.H git-svn-id: svn://svn.kaashoek.com/comskip/trunk@26 8ab6d134-22f3-c04… Feb 8, 2009
LICENSE Create LICENSE Sep 28, 2017
Makefile.am remove mtune=generic Jan 26, 2017
README.md Update README.md (#91) Jan 8, 2018
appveyor.yml fix test Jun 13, 2017
autogen.sh Implement autotool build system. Oct 6, 2015
comskip.c Fixed a spelling issue. Jul 14, 2018
comskip.h Audio panic solved and libavcodec upgrade Mar 25, 2018
comskip16.ico git-svn-id: svn://svn.kaashoek.com/comskip/trunk@6 8ab6d134-22f3-c048… Oct 25, 2006
comskip32.ico git-svn-id: svn://svn.kaashoek.com/comskip/trunk@6 8ab6d134-22f3-c048… Oct 25, 2006
config.h Update 0.80.012 Feb 8, 2009
configure.ac fix build on macOS cc #95 Mar 7, 2018
ffmpeg_dxva2.c Audio panic solved and libavcodec upgrade Mar 25, 2018
ffmpeg_dxva2.c_save Some small improvements Mar 10, 2017
mpeg2dec.c Audio panic solved and libavcodec upgrade Mar 25, 2018
platform.c fix stat() warning on mingw32 Aug 10, 2015
platform.h Audio panic solved and libavcodec upgrade Mar 25, 2018
resource.h Update to build 126 Mar 27, 2008
video_out_dx.c use GetWindowLongPtr/SetWindowLongPtr Jan 26, 2017
video_out_sdl.c Automatically determine whether to build the GUI. Oct 6, 2015
vo.h fix build on mingw32 Aug 3, 2015
win32_pthread.c remove unnecessary git/mingw code Sep 10, 2015
win32_pthread.h Small updates for logging Apr 1, 2016

README.md

Comskip

Commercial detector http://www.kaashoek.com/comskip/

Example Comskip image Commercials are marked and skipped using associated projects.

Requirements

  • FFmpeg with headers and shared libraries (2.4+)
  • libargtable2 for option parsing
  • Optional: SDL for building the Comskip GUI

Building

Building from GitHub

Building directly from GitHub also requires GNU autotools (autoconf, automake, and libtool).

$ git clone git://github.com/erikkaashoek/Comskip
$ cd Comskip
$ ./autogen.sh
$ ./configure
$ make

Building from a tarball

$ tar zxpfv comskip-<version>.tar.gz
$ cd comskip-<version>
$ ./configure
$ make

Setting up a build environment

Windows

There are many ways to setup a build system on Windows. These instructions use MSYS2 and MinGW-w64, but other environments should also work:

  • Install MSYS2 by following the instructions at https://msys2.github.io/
  • Install the essential build tools: pacman -S mingw-w64-i686-gcc autoconf automake libtool pkgconfig yasm
  • Close the MSYS2 shell and launch a MinGW-w64 shell; this is the shell you'll use for all builds
  • Build FFmpeg (http://ffmpeg.org/), argtable2 (http://argtable.sourceforge.net/) and SDL2 from source and install them to /usr/local
  • Add /usr/local/lib/pkg-config to PKG_CONFIG_PATH (e.g., add export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig to ~/.bashrc, then type source ~/.bashrc)

Mac OS X

First install Xcode (freely available from the Mac OS X App Store). After it's installed, install the Xcode command-line tools by executing xcode-select --install from a terminal.

The easiest way to install Comskip's dependencies is via Homebrew (http://brew.sh/):

$ brew install autoconf automake libtool pkgconfig argtable ffmpeg sdl

Macports natively compiles all libraries from source. The project etv-comskip has an example Makefile using Macports tools.

$ sudo port install ffmpeg coreutils argtable

Linux

Ubuntu Xenial (16.04)
$ apt-get install -y autoconf libtool git build-essential libargtable2-dev libavformat-dev libsdl1.2-dev
Ubuntu Vivid (15.04)
$ apt-get install -y git build-essential libargtable2-dev libavformat-ffmpeg-dev libsdl1.2-dev
Ubuntu Trusty (14.04)
$ add-apt-repository -y ppa:mc3man/trusty-media
$ apt-get update

$ apt-get install -y git build-essential libargtable2-dev libsdl1.2-dev
$ apt-get install -y ffmpeg libva-dev libsoxr-dev libvorbis-dev libbz2-dev zlib1g-dev libxvidcore-dev libvpx-dev libx264-dev libx265-dev libspeex-dev libfdk-aac-dev libvorbisenc2 libopus-dev libmp3lame-dev libdca-dev libfaac-dev libopencore-amrnb-dev libvo-aacenc-dev libopencore-amrwb-dev

$ git clone https://github.com/foo86/dcadec
$ cd dcadec
$ make install
Ubuntu Precise (12.04)
$ add-apt-repository -y ppa:pavlyshko/precise
$ add-apt-repository -y ppa:chris-lea/zeromq
$ apt-get update

$ wget https://launchpad.net/ubuntu/+archive/primary/+files/libfdk-aac0_0.1.1%2B20130514-2_amd64.deb
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/libopus0_1.0.1-0ubuntu2_amd64.deb
$ wget https://launchpadlibrarian.net/205263953/libwebp5_0.4.1-1.2pmo1%7Eprecise_amd64.deb
$ dpkg -i libfdk-aac0_0.1.1+20130514-2_amd64.deb
$ dpkg -i libopus0_1.0.1-0ubuntu2_amd64.deb
$ dpkg -i libwebp5_0.4.1-1.2pmo1~precise_amd64.deb

$ apt-get install -y git build-essential libargtable2-dev libsdl1.2-dev
$ apt-get install -y ffmpeg-opti libavformat-ffmpeg-opti-dev

Building static binaries

You can build a static binary by passing the --enable-static parameter to configure, but beware the following caveats:

  • True static linking on Mac OS X is not supported by Apple. Do not use the --enable-static directive on OS X. Rather, use the script matryoshka-name-tool to use OS X's install_name_tool to modify the comskip binary and create a directory of shared libraries that may be distributed to users without homebrew or Macports installations. The project etv-comskip has an example Makefile using matryoshka-name-tool.

  • Some libraries have incomplete or incorrect dependencies listed in their pkgconfig files. If static linking fails on your system, you'll need to override these by manually specifying the argtable2_LIBS, ffmpeg_LIBS, and sdl_LIBS environment variables with the required list of libraries and their locations.

Ini file

You can find ini files at: http://www.kaashoek.com/comskip/