Record streams into hidden .live/ and publish finished files via the sweep; plugin 0.1.2 feed wording

Jellyfin indexed in-progress fragmented recordings (no duration -> seek jumped to next episode).
MediaMTX now writes under <Title>/.live/; the sweep remuxes finished files into the title folder
and removes the source. Feed says 'New recording' since it fires after publish.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-10-30 22:45:30 -05:00
parent 6fb0f6da30
commit 3d42271ae2
8 changed files with 37 additions and 16 deletions

View File

@@ -2,8 +2,8 @@
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>Jellyfin.Plugin.Vanguard</RootNamespace>
<AssemblyVersion>0.1.1.0</AssemblyVersion>
<FileVersion>0.1.1.0</FileVersion>
<AssemblyVersion>0.1.2.0</AssemblyVersion>
<FileVersion>0.1.2.0</FileVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>false</GenerateDocumentationFile>

View File

@@ -54,7 +54,7 @@ public sealed class FeedService : IHostedService
var link = string.IsNullOrWhiteSpace(cfg.PublicUrl) ? null : $"{cfg.PublicUrl.TrimEnd('/')}/web/#/details?id={ep.Id:N}";
var name = who?.DisplayName ?? parts?.SeriesFolder ?? "someone";
var heading = kind == Kind.Stream ? $"🔴 {name} is recording: {title}" : $"🎬 New clip from {name}: {title}";
var heading = kind == Kind.Stream ? $"📼 New recording from {name}: {title}" : $"🎬 New clip from {name}: {title}";
var fields = new List<(string, string)> { ("When", when.ToString("ddd MMM d, h:mm tt", CultureInfo.InvariantCulture)) };
if (parts?.Title is not null && kind == Kind.Clip) fields.Add(("Folder", parts.Title));

View File

@@ -1,6 +1,6 @@
name: "Vanguard Metadata"
guid: "d00ebd97-f987-4678-8089-c8f0f8a6ab3e"
version: "0.1.1.0"
version: "0.1.2.0"
targetAbi: "12.4.0.0"
framework: "net10.0"
overview: "Season/episode metadata for gameplay recordings from timestamps, Discord and Authentik."
@@ -14,5 +14,6 @@ artifacts:
- "Jellyfin.Plugin.Vanguard.dll"
- "Jellyfin.Plugin.Vanguard.Core.dll"
changelog: >
0.1.2.0 feed says "New recording" (streams are published only after they finish)
0.1.1.0 playback-policy enforcement task (direct-play-only for all users)
0.1.0.0 initial skeleton