Skip to content
This repository has been archived by the owner on Nov 25, 2024. It is now read-only.

Fingerprint audio to automatically detect intro and outro segments in Jellyfin

License

Notifications You must be signed in to change notification settings

endrl/jellyfin-plugin-media-analyzer

 
 

Repository files navigation

Jellyfin Media Analyzer

Archived

⚠️ This project is no longer in development. Please move on to intro-skipper ⚠️

Features

Analyzes Movies and TV Shows to detect Intros and Outros. Uses the new official Jellyfin API.

  • Detect Intro segments in tv shows
  • Detect Outro segments in tv shows and movies
  • Multiple Detection Types
    • Chapter Analyzer (Intro/Outro): Scan chapter names for trigger words like 'Intro' 'End'
    • Chromaprint Analyzer (Intro/Outro - tv shows): Compare audio fingerprints of two media files and find matches
    • BlackFrame Analyzer (Outro): Scan for continous mostly black content
  • Jellyfin Segment Editor support

Requirements

  • Jellyfin 10.10

Installation instructions

  1. Add plugin repository to your server: https://raw.githubusercontent.com/endrl/jellyfin-plugin-repo/master/manifest.json
  2. Install the Media Analyzer plugin from the General section
  3. Restart Jellyfin
  4. Go to Dashboard -> Scheduled Tasks -> Analyze Media and click the play button
  5. There is no Task Timer configured, create one if you want to scan daily (by default it will scan after "MediaLibrary scan" and when new items are added. You can disable this behaviour in the settings)

Related projects

Current changes compared to ConfusedPolarBear

  • Enable Credits detection for episodes and movies (black frame analyzer)
  • No cache option (default: enabled) -> no disk space required
  • Auto analyze after media scanning task ended
  • Filter for tv show names and optional season/s
  • No server side playback influence or frontend script injection (clean!)
  • Move .edl file creation into another plugin
  • Move the extended plugin page for segment edits to a dedicated tool Media Segment Editor
    • move additional meta support per plugin like "get chromaprints of plugin x"

Introduction requirements

Show introductions will only be detected if they are:

  • Located within the first 30% of an episode, or the first 15 minutes, whichever is smaller
  • Between 15 seconds and 2 minutes long

Ending credits will only be detected if they are shorter than 4 minutes.

All of these requirements can be customized as needed.

Debug Logging

Change your logging.json file to output debug logs for Jellyfin.Plugin.MediaAnalyzer. Make sure to add a comma to the end of "System": "Warning"

{
    "Serilog": {
        "MinimumLevel": {
            "Default": "Information",
            "Override": {
                "Microsoft": "Warning",
                "System": "Warning",
                "Jellyfin.Plugin.MediaAnalyzer": "Debug"
            }
        }
       // other stuff
    }
}

About

Fingerprint audio to automatically detect intro and outro segments in Jellyfin

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 63.3%
  • HTML 19.2%
  • Go 12.6%
  • Python 2.4%
  • JavaScript 2.4%
  • Shell 0.1%