whatisgithub

What is icop?

asayed18/icop — explained in plain English

Analysis updated 2026-05-18

3CAudience · generalComplexity · 4/5LicenseSetup · hard

In one sentence

A privacy-first VLC plugin that uses a local AI model to detect and block sensitive video frames before they are shown, without uploading anything.

Mindmap

mindmap
  root((icop))
    What it does
      Filters video frames live
      Blocks sensitive content
      Runs fully offline
    Tech stack
      C and C plus plus
      ONNX Runtime
      VLC plugin
    Use cases
      Parental controls
      Private video playback
      Offline content moderation
    Audience
      Privacy conscious users
      VLC power users
      Computer vision developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically blur or block sensitive video content while watching in VLC.

USE CASE 2

Set up best-effort parental controls for shared-screen video playback.

USE CASE 3

Filter video content locally without sending any frames to a cloud service.

USE CASE 4

Experiment with ONNX Runtime and GPU-accelerated computer vision inside a media player.

What is it built with?

CC++ONNX RuntimeCMakeVLCCUDA

How does it compare?

asayed18/icopamichail-1/orbination-whisper-aiandrewrk/libogg
Stars333
LanguageCCC
Last pushed2026-03-31
MaintenanceMaintained
Setup difficultyhardeasyeasy
Complexity4/54/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Building from source needs CMake, a C/C++17 compiler, VLC development files, and separately downloaded model and runtime files.

Modified versions of this code must also be released under the same GPL license and made open source.

So what is it?

icop is a plugin for the VLC media player that adds automatic content filtering to video playback. It uses an AI model running entirely on your own computer to look at each video frame before it is shown, and if the frame is classified as sensitive, the plugin can black it out, blur it, or show a warning instead of the original image. Nothing is uploaded anywhere: all the analysis happens locally through a tool called ONNX Runtime. The plugin works by having VLC hold onto a decoded frame for a moment before showing it. During that pause, icop resizes and converts the frame so the AI model can read it, gets a classification back, and then decides whether to release the real frame or a masked version. The README describes this as a safety rule the whole project is built around: a frame that needs checking should never be shown before the check finishes. The plugin can also mute audio while a blocked frame is on screen, and it supports different block styles and multiple model profiles. icop currently works on Windows and Linux, with an experimental version for macOS. It can use graphics card acceleration where available, falling back automatically between different hardware options and finally to the regular processor if needed. The README is upfront that this is a best-effort filter: the underlying detection model can miss things or flag things incorrectly, so the authors say to test it yourself before relying on it for anything like child safety or accessibility. For people who just want to use it, the README suggests handing the included INSTALL.md file to an AI assistant, which can then handle downloading and setting it up. For developers who want to build it from source, the project uses CMake and a C and C++ compiler, along with the development files for VLC itself, and provides make commands to build, test, and package the plugin. Some parts of the process, like the required model files and prebuilt VLC copies, are downloaded separately rather than stored in the repository. icop is released under the GPL-2.0-or-later license, a copyleft license which generally requires that modified versions of the code also be shared under the same license terms. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Give an AI assistant the INSTALL.md file from icop and have it set up the VLC plugin for me.
Prompt 2
Help me build icop from source using CMake and package it for my platform.
Prompt 3
Explain how icop decides whether to block, blur, or show a video frame in VLC.
Prompt 4
Walk me through setting up the Windows CUDA build of icop with the DirectML fallback.
Prompt 5
Show me how to configure icop's block style and audio muting options.

Frequently asked questions

What is icop?

A privacy-first VLC plugin that uses a local AI model to detect and block sensitive video frames before they are shown, without uploading anything.

What language is icop written in?

Mainly C. The stack also includes C, C++, ONNX Runtime.

What license does icop use?

Modified versions of this code must also be released under the same GPL license and made open source.

How hard is icop to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is icop for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.