Giter Site home page Giter Site logo

agentxan / comskip Goto Github PK

View Code? Open in Web Editor NEW

This project forked from erikkaashoek/comskip

0.0 0.0 0.0 10.73 MB

A free commercial detector

License: GNU General Public License v2.0

Shell 4.37% C 95.19% Makefile 0.13% M4 0.26% Dockerfile 0.06%

comskip's Introduction

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.

Cross Compile with Ubuntu Bionic (18.04) with MinGW-w64
$ sudo apt-get install -y subversion curl texinfo g++ bison flex cvs yasm automake libtool autoconf gcc cmake git make pkg-config zlib1g-dev mercurial unzip pax nasm gperf autogen bzip2
$ git clone https://github.com/erikkaashoek/Comskip.git
$ cd Comskip
$ ./cross_compile_comskip.sh
MSYS2 and MinGW-w64

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 gcc make 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/

comskip's People

Contributors

tmm1 avatar erikkaashoek avatar fflewddur avatar eric avatar arrmo avatar hoffman373 avatar ifthenerror avatar essandess avatar kkdad avatar zackaryh8 avatar virtualdj avatar rboy1 avatar ahiyahiya avatar gdevenyi avatar sdrik avatar astroza avatar chewi avatar jose-pr avatar manish364824 avatar tereius avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.