whatisgithub

What is credit-detect?

authrequest/credit-detect — explained in plain English

Analysis updated 2026-06-24

22PythonAudience · developerComplexity · 3/5LicenseSetup · hard

In one sentence

A Python tool that finds where closing credits start and end in a video file by scoring each frame for low entropy, histogram peaks, and on-screen text, reverse-engineered from Plex Media Server's own credit-detection pipeline.

Mindmap

mindmap
  root((credit-detect))
    What it does
      Detects credit segments
      Returns start and end timestamps
    How it works
      Frame entropy scoring
      Histogram peak analysis
      Text region counting
      Five-stage pipeline
    Inputs
      Video file via ffmpeg
      Pre-extracted CSV features
    Tech Stack
      Python
      ffmpeg
      EAST text detector
    Use Cases
      Skip credits automatically
      Batch library processing
      Media server integration
Click or tap to explore — scroll the page freely

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 detect credit start and end timestamps in a movie file so a media player can offer a skip-credits button.

USE CASE 2

Batch-process a local video library to tag credit positions for every file and store them in a database.

USE CASE 3

Run credit detection without ffmpeg by supplying a pre-extracted CSV of per-frame features, skipping the neural network entirely.

USE CASE 4

Integrate credit detection into a custom Plex-alternative media server to add automatic skip-credits functionality.

What is it built with?

PythonffmpegEAST text detector

How does it compare?

authrequest/credit-detectalexantaluo0/acot-vla-wmaronnaxlin/minerupress
Stars222222
LanguagePythonPythonPython
Setup difficultyhardhardmoderate
Complexity3/55/53/5
Audiencedeveloperresearcherwriter

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

How do you get it running?

Difficulty · hard Time to first run · 1h+

The required neural network model (model_v1.pb) is not included and must be extracted from a Plex installation or trained separately, ffmpeg is required for direct video mode.

Licensed under AGPL-3.0: free to use and modify, but any modified version you distribute or run as a network service must also be released as open source under the same license.

So what is it?

credit-detect is a Python tool that scans video files and identifies where the closing credits begin and end. It works by analyzing each frame for visual signals associated with credit sequences: low image entropy (the picture is mostly uniform or plain), strong histogram peaks, and the presence of text on screen. These three features are combined and scored to produce a time range marking the credit segment. The detection logic is described as a reverse-engineered version of the credit detection algorithm inside Plex Media Server, a popular home media application. The author traced through Plex's binary and reproduced its five-stage pipeline: candidate frame filtering, clustering consecutive candidates into runs, scoring each segment, merging nearby candidates, and applying duration and score thresholds to decide what qualifies as credits. The tool runs in two modes. In direct video mode, it accepts a video file, extracts frames using ffmpeg, and uses a neural network model to count text regions per frame. In CSV mode, it accepts a pre-extracted feature file with nine columns (frame index, timestamp, entropy, histogram peak ratio, and text detection values), which avoids the need for ffmpeg or the model entirely. The neural network model (a file called model_v1.pb) is not included in the project, because it is extracted from Plex's own scanner and its licensing is unclear. The README explains three options: extract it yourself from a Plex installation using a tool called binwalk, train a compatible replacement on a text-detection dataset, or skip the model and use CSV mode instead. The architecture is a standard EAST-style text detector, so any model trained on the same task works as a drop-in replacement. The project is licensed under AGPL-3.0 and requires Python 3.10 or newer.

Copy-paste prompts

Prompt 1
Using credit-detect in Python, show me how to run detection on a local .mkv file and print the timestamp range where the closing credits begin.
Prompt 2
I have a folder of .mp4 movies. Write a Python script using credit-detect to batch-process all files and save credit start and end times to a JSON file.
Prompt 3
How do I run credit-detect in CSV mode without ffmpeg or the neural network model? What are the nine required CSV columns?
Prompt 4
I want to train a replacement for the missing model_v1.pb text detection model. What EAST-style architecture and dataset should I use to produce a compatible drop-in?

Frequently asked questions

What is credit-detect?

A Python tool that finds where closing credits start and end in a video file by scoring each frame for low entropy, histogram peaks, and on-screen text, reverse-engineered from Plex Media Server's own credit-detection pipeline.

What language is credit-detect written in?

Mainly Python. The stack also includes Python, ffmpeg, EAST text detector.

What license does credit-detect use?

Licensed under AGPL-3.0: free to use and modify, but any modified version you distribute or run as a network service must also be released as open source under the same license.

How hard is credit-detect to set up?

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

Who is credit-detect for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.