InPlayerEpisodePreview
A Jellyfin plugin for the web and client version, which displayes an episode list inside the player
Install / Use
/learn @Namo2/InPlayerEpisodePreviewREADME
In Player Episode Preview
📄 About
This plugin adds an episode list to the video player, which allows you to preview every episode of the TV show without having to leave the player.
This modification has support for the following clients:
- Jellyfin Web Client
- Jellyfin Media Player (JMP) Desktop Client
✨ Features
- List all episodes of a season
- Switch between seasons
- Shows episode title, description, thumbnail and playback progress
- Shows episode details like community ranking
- Mark episodes as played or favourite
- Start a new episode
- Should work with custom themes
📸 Preview
<img src="https://github.com/Namo2/InPlayerEpisodePreview/blob/master/Images/preview.gif" width="550" height="450">Used Theme: (SkinManager) Kaleidochromic <br> This preview is missing the new buttons for marking an episode as completed or favourite.
🔧 Installation
Jellyfin Web Client (Server)
<details open> <summary> See instructions... </summary>[!NOTE] It is highly recommended to have file-transformation at least v2.2.1.0 installed. It helps avoid permission issues while modifying index.html on any kind of installation!
- Add the manifest
https://raw.githubusercontent.com/Namo2/InPlayerEpisodePreview/master/manifest.jsonas a Jellyfin plugin repository to your server. - Install the plugin
InPlayerEpisodePreviewfrom the repository. - Restart the Jellyfin server.
Jellyfin Media Player (JMP) Desktop Client (Deprecated)
<details> <summary> See instructions... </summary>Deprecated with JMP Version 1.11.0
Because the new JMP client is using the current web player from the server itself, it is no longer needed to make any changes to the client code directly.
This is the recommended way to install the script on the desktop client. If you don't feel comfortable editing the nativeshell.js file yourself (step 3 to 6), you can download the full release instead, which includes the script already added to the nativeshell.js file. It is yet unclear if there could be potential issues, replacing the nativeshell.js file with the one from the release, so it is recommended to follow all steps below.
- Download the latest release JMP or JMP-full (includes the script already added to the nativeshell.js file)
- Extract the zip file into your Jellyfin directory (e.g. C:\Program Files\Jellyfin\Jellyfin Media Player)
- Inside your Jellyfin directory follow the folder path "web-client\extension"
- Open the "nativeshell.js" file in a text editor.
- Inside the file find the section
const plugins = [];. Add a new line at the start of the list and paste in'inPlayerEpisodePreviewPlugin',. The section should now look similar to this:
const plugins = [
'inPlayerEpisodePreviewPlugin',
'mpvVideoPlayer',
'mpvAudioPlayer',
'jmpInputPlugin',
'jmpUpdatePlugin',
'jellyscrubPlugin',
'skipIntroPlugin'
];
- Save the file and restart the JMP client.
💡 Troubleshooting
1. The preview button isn't visible
This is most likely related to wrong permissions for the index.html file.
1.1 Avoid this issue by using the file-transformation plugin.
1.2 Change Ownership inside a docker container
If you're running jellyfin in a docker container, you can change the ownership with thie following command (replace jellyfin with your containername, user and group with the user and group of your container):
docker exec -it --user root jellyfin chown user:group /jellyfin/jellyfin-web/index.html && docker restart jellyfin
You can run this as a cron job on system startup. (Thanks to muisje for helping with this solution)
1.3 Change Ownership running on a Windows installation
- Navigate to:
C:\Program Files\Jellyfin\Server\jellyfin-web\ - Right-click on
index.html→Properties→Security tab→ Click onEdit - Select your user from the list and check the Write
permissionbox. - Restart both the server and client. (Thanks to xeuc for this solution)
If none of the above solutions work, please have a look at old issues. E.g. here or here.
</details> <br/> <br/> If you encounter any error which you can't solve yourself, feel free to open up an issue. <br/>Please keep in mind that any system is different which can lead to unexpected behaviour, so add as much information about it as possible. <br/>Jellyfin logs and console logs from the browser (prefixed as [InPlayerEpisodePreview]) are always useful.Credits
The plugin structure is based and inspired on the Jellyscrub plugin by NickNSY.
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
