fix: download trailers as separate video+audio and merge with ffmpeg (v1.0.0.10)
All checks were successful
Publish Release / release (push) Successful in 26s

YouTube stopped serving muxed streams and YoutubeExplode 6.6.0 failed on
every video ("Video is not available"), so no trailer downloaded. Bump
YoutubeExplode to 6.6.2, download the best video-only + audio-only streams
and stream-copy them into one MP4 with ffmpeg. The separate files are
always deleted afterwards, merge or not.

Also delete the trailer folder when a download fails. Empty folders were
treated as "already downloaded" (never retried) and counted toward
MaxTotalTrailers, so over time they pushed out every real trailer. The
skip check now requires the trailer file itself.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Martin
2026-10-05 17:42:28 -04:00
parent e518b79c36
commit 5176582391
6 changed files with 146 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
---
version: 1.0.0.9
version: 1.0.0.10
name: CinemaTrailers4Jellyfins
guid: b581493e-1046-40ed-b6dc-cb8027624984
description: >
@@ -12,10 +12,13 @@ category: General
owner: 514mart
targetAbi: 10.11.0.0
changelog:
- Skip trailers and pre-roll/feature pre-roll bumpers the current user
can't actually access (e.g. a library not in their library access list)
— some Cinema Mode clients hang indefinitely trying to play an
inaccessible item, so these are now filtered out per-user instead
- Fix trailer downloads, broken by a YouTube change. YouTube no longer
serves combined video+audio files, so the built-in downloader now fetches
the video and audio separately, merges them with ffmpeg (no re-encode)
and deletes the separate files afterwards
- A failed download no longer leaves an empty trailer folder behind.
Empty folders counted toward "Max trailers to keep" (pushing out real
trailers) and were never retried
dotnetProjects:
- name: Jellyfin.Plugin.CinemaTrailers4Jellyfins