intro-skipper icon indicating copy to clipboard operation
intro-skipper copied to clipboard

[Request]: Cold Open Teaser Support

Open CodeOfTheRing opened this issue 11 months ago • 9 comments

Feature Request: Support for cold open teasers, commonly found in classic TV shows from the 70s-90s like Murder, She Wrote and The A-Team. These teasers, which appear before the intro, preview key moments and set up the episode’s story. Integrating support for detecting and managing these teasers would enhance the viewing experience for fans of classic TV.

Two Types of Cold Opens: Type 1: Creepy or mysterious events designed to hook viewers (e.g., a crime being committed). Viewers are unlikely to want to skip these but might benefit from a "Skip Teaser" option. Example: X-Files Type 2: Dramatic previews of key moments from the episode (e.g., action-packed or dramatic scenes). These often duplicate content that appears later in the episode, making them more likely to be skipped. Proposed Features: Cold Open Detection by Type:

If there is an untagged sequence before the intro, it could be analyzed for duplicate dialogue or scenes later in the episode to identify it as a Type 2 teaser. If no duplicates are found, label it as Type 1.

Per Show/Season Settings: Allow users to customize cold open handling on a per-show or per-season basis. For example: Roll cold opens into the intro (e.g., combine the teaser and intro as one skippable segment). Optionally allow cold opens to remain separate, with a "Skip Teaser" button.

True Detection and Labels: Implement logic to differentiate cold open Type 1/Type 2 teasers and recaps dynamically: Type 2 teasers rely on duplicate content detection, matching against the rest of the episode. Type 1 teasers are the default if no duplication is detected or manual per show/season. Display clear labels like "Skip Teaser" for Type 1 or "Skip Preview" for Type 2, helping users decide whether to skip. Example Use Case: For Murder, She Wrote, the intro is detected correctly at 00:31 to ~01:17. Any sequence before this could be treated as a cold open.

Type 2 Detection: If scenes/dialogue from the cold open appear again later in the episode, it’s classified as a Type 2 teaser. Type 1 Handling: If the sequence is unique, it’s a Type 1 teaser and may optionally display "Skip Teaser."

CodeOfTheRing avatar Jan 25 '25 11:01 CodeOfTheRing

There are two major issues with this:

  1. We no longer control the "category" of skippable items. That is now handled by Jellyfin.
  2. I don't see any reason to skip these items, since they are always going to be different.

AbandonedCart avatar Jan 25 '25 13:01 AbandonedCart

There are two major issues with this:

  1. We no longer control the "category" of skippable items. That is now handled by Jellyfin.
  2. I don't see any reason to skip these items, since they are always going to be different. I figured this might be the case as far as the category.

The reason to skip is type 1 cold open teasers, they are 30 second trailers of the entire episode.

As an alternative that might cover other use cases? In Edit Timestamps & Fingerprints you can toggle TV Series that have these cold open trailers/teasers. For that series if intros are detected, the Intro Start is always set to 0.

There's not a good way to bulk handle this for large shows.

CodeOfTheRing avatar Jan 25 '25 14:01 CodeOfTheRing

There's not a good way to bulk handle this for large shows.

There’s also not a good way to detect it. Adding an option to always start from 0 for the intro (per-season because doing it per show or per library would do more harm than good) is an option, but also comes with a lot of risk that you miss any variance.

AbandonedCart avatar Jan 25 '25 16:01 AbandonedCart

I added the repository for intro blocker this one: https://github.com/intro-skipper/intro-s...ifest.json but plugin not showing in catalog, any idea why?

sentix001 avatar Feb 04 '25 20:02 sentix001

I added the repository for intro blocker this one: https://github.com/intro-skipper/intro-s...ifest.json but plugin not showing in catalog, any idea why?

You need to update Jellyfin, but please avoid hijacking unrelated issues.

AbandonedCart avatar Feb 04 '25 21:02 AbandonedCart

upated to latest still not showing

sentix001 avatar Feb 04 '25 21:02 sentix001

upated to latest still not showing

You are welcome to file a new issue with the required info or find an identical issue to join, but this is a feature request for cold open support.

AbandonedCart avatar Feb 04 '25 22:02 AbandonedCart

Isn't this what the Preview and/or Recap segment types are for?

Of course both of these require either Chapters or adding them manually, which would be tedious.

If the files already happen to have chapters, you can somewhat automate this process:

for file in *mkv; do
    mkvextract chapters "${file}" > "${file}.xml"
    # this assumes the chapter names are the same across episodes
    sed -i 's/Old Chapter Name/Preview/' "${file}.xml"
    mkvpropedit "${file}" --chapters "${file}.xml"
done

If your episodes don't have chapters you can still use a similar process. You can write the media segments to a chapter XML, and then go from there. I haven't used this plugin though so I don't know whether or not it adds a chapter at 0:00:00 (which mkv doesn't require, mp4 does). Even if it doesn't, with a bit of sed magic you can probably prepend the first <ChapterAtom> with a new entry.

mihawk90 avatar Feb 08 '25 07:02 mihawk90

Isn't this what the Preview and/or Recap segment types are for?

They are similar, but the recap would be like Supernatural's "The road so far" and a preview is usually a clip of what's to be expected in the next (or later) episode. I believe the concern is that a cold open or teaser could theoretically exist alongside both.

Using a preview / recap not already allocated to a preview / recap is a workaround, but potentially has you mislabeling chapters to trick the system.

AbandonedCart avatar Feb 08 '25 09:02 AbandonedCart