https://github.com/endrl/jellyfin-plugin-media-analyzer
Fingerprint audio to automatically detect intro and outro segments in Jellyfin
https://github.com/endrl/jellyfin-plugin-media-analyzer
jellyfin jellyfin-plugin
Last synced: 7 days ago
JSON representation
Fingerprint audio to automatically detect intro and outro segments in Jellyfin
- Host: GitHub
- URL: https://github.com/endrl/jellyfin-plugin-media-analyzer
- Owner: endrl
- License: gpl-3.0
- Archived: true
- Fork: true (ConfusedPolarBear/intro-skipper)
- Created: 2023-04-24T15:17:56.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-25T21:20:46.000Z (5 months ago)
- Last Synced: 2024-11-25T22:27:52.543Z (5 months ago)
- Topics: jellyfin, jellyfin-plugin
- Language: C#
- Homepage:
- Size: 2.02 MB
- Stars: 194
- Watchers: 14
- Forks: 8
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - endrl/jellyfin-plugin-media-analyzer - Fingerprint audio to automatically detect intro and outro segments in Jellyfin (C# #)
README
# Jellyfin Media Analyzer
## Archived
⚠️
This project is no longer in development. Please move on to [intro-skipper](https://github.com/intro-skipper/intro-skipper?tab=readme-ov-file#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](https://github.com/endrl/segment-editor?tab=readme-ov-file#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
- Jellyfin Plugin: [.EDL Creator](https://github.com/endrl/jellyfin-plugin-edl)
- Tool: [Jellyfin Segment Editor](https://github.com/endrl/segment-editor)
- Player: [Jellyfin Vue Fork](https://github.com/endrl/jellyfin-vue)## Current changes compared to ConfusedPolarBear
- [x] Enable Credits detection for episodes and movies (black frame analyzer)
- [x] No cache option (default: enabled) -> no disk space required
- [x] Auto analyze after media scanning task ended
- [x] Filter for tv show names and optional season/s
- [x] No server side playback influence or frontend script injection (clean!)
- [x] Move .edl file creation into another [plugin]()
- [x] Move the extended plugin page for segment edits to a dedicated tool [Media Segment Editor](https://github.com/endrl/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 longEnding 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"`
```jsonc
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Jellyfin.Plugin.MediaAnalyzer": "Debug"
}
}
// other stuff
}
}
```