Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Media Segments Wiki Page #1179

Merged
merged 28 commits into from
Oct 31, 2024
Merged
Changes from 18 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e984bda
Added Blogpost about Media Segments
JPVenson Oct 26, 2024
2d24c55
adapted wording
JPVenson Oct 26, 2024
cca9261
Adapted feedback
JPVenson Oct 26, 2024
392856a
rephrased segment blog entry
JPVenson Oct 27, 2024
452aba3
Apply suggestions from code review
JPVenson Oct 27, 2024
1169891
changed tag
JPVenson Oct 27, 2024
e54fc7f
Added StepByStep instructions to enable
JPVenson Oct 27, 2024
471a8e0
Renamed blog post
JPVenson Oct 27, 2024
cede0d0
Fixed truncate for preview
JPVenson Oct 27, 2024
edda220
Apply suggestions from code review
JPVenson Oct 27, 2024
5d2ae7b
soonify ATV support annoucement
JPVenson Oct 27, 2024
6d9a6a7
Apply suggestions from code review
JPVenson Oct 28, 2024
b99146b
Create media-segments.md
felix920506 Oct 30, 2024
011c0b8
Update media-segments.md
felix920506 Oct 30, 2024
66eb1bf
Delete index.mdx
felix920506 Oct 30, 2024
c1cc1e4
Update authors.yml
felix920506 Oct 30, 2024
7ca1f19
Fix Typos
felix920506 Oct 30, 2024
65f3d21
typo
felix920506 Oct 30, 2024
2623b35
typos
felix920506 Oct 30, 2024
6be081e
Apply suggestions from code review
felix920506 Oct 30, 2024
cb6e6fc
feedback
felix920506 Oct 30, 2024
e0410ba
Merge branch 'MediaSegments-docs' of https://github.com/felix920506/j…
felix920506 Oct 30, 2024
186a682
Apply suggestions from code review
felix920506 Oct 30, 2024
3097bb7
Remove androidtv
felix920506 Oct 30, 2024
c557790
suggestions
felix920506 Oct 30, 2024
122f7c4
remove code injection mention
felix920506 Oct 30, 2024
67ea23b
add step by step guide
felix920506 Oct 31, 2024
18dc3a8
move to metadata
felix920506 Oct 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions docs/general/server/media/media-segments.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
felix920506 marked this conversation as resolved.
Show resolved Hide resolved
felix920506 marked this conversation as resolved.
Show resolved Hide resolved
uid: server-media-media-segments
title: Media Segments
felix920506 marked this conversation as resolved.
Show resolved Hide resolved
---

# Media Segments
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

Media segments are sections of media files with a defined type, stored within Jellyfin. They are different from chapters in that chapters don't have any defined type.
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

## Types

The following types are currently available:

- Commercial
- Preview
- Recap
- Outro
- Intro

## An example

A video that is 16 minutes (00:16:00) long could have the following segments:

1. From 00:00:00 until 00:03:08 there is an `Intro` segment.
2. From 00:08:03 until 00:08:59 there is a `Commercial` segment.
3. From 00:14:30 until 00:16:00 there is an `Outro` segment.

Jellyfin can store this information and provide it via the MediaSegment API to clients. Clients can then decide what they wants to do with the provided information, such as displaying a "skip" button to allow convenient skipping.

## Creating Media Segments
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

As of Jellyfin 10.10, media segments can only be created by plugins. There is an official `Chapter Segments Provider` plugin that creates media segments from chapters.
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

## Clients

Media segments are currently supported in the web interface and the Android TV[^1] app.

[^1]: Available starting from 0.18, soon [in beta](/posts/android-betas)
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

The server simply delivers the information about where the segment is in the video and of what type it is, it remains up the individual client to decide what to do with that information. Since media segments is a new feature, please do not expect many clients to support it.
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

## Plugin support

Plugins can utilize this system to store their information about Intros, Outros, Commercials and all other types of segments. This information can then be used by clients to provide actions, such as a "Skip" button in their UI. This approach generalizes how segments are handled, so plugins no longer need to inject javascript into the WebUI to get IntroSkipping, and similar functionality can be achieved without custom modifications to other clients.
felix920506 marked this conversation as resolved.
Show resolved Hide resolved

This does _NOT_ make the existing plugins obsolete, however as we still rely on them to generate the segments. They would simply have to be updated to work with the media segments system.
felix920506 marked this conversation as resolved.
Show resolved Hide resolved