From da8e8411e73c7bb8dc71e0afa25755431dedddcf Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sun, 7 Mar 2021 15:13:33 -0600 Subject: [PATCH] add text to offline stream --- ErsatzTV.Core/FFmpeg/FFmpegProcessBuilder.cs | 11 +++++++---- ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs | 5 +---- ErsatzTV/ErsatzTV.csproj | 3 +++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ErsatzTV.Core/FFmpeg/FFmpegProcessBuilder.cs b/ErsatzTV.Core/FFmpeg/FFmpegProcessBuilder.cs index bdc53f3e0..9fbacad45 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegProcessBuilder.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegProcessBuilder.cs @@ -213,15 +213,18 @@ namespace ErsatzTV.Core.FFmpeg return this; } - public FFmpegProcessBuilder WithText(string text) + public FFmpegProcessBuilder WithErrorText(IDisplaySize desiredResolution, string text) { const string FONT_FILE = "fontfile=Resources/Roboto-Regular.ttf"; - const string FONT_SIZE = "fontsize=30"; + const string FONT_SIZE = "fontsize=60"; const string FONT_COLOR = "fontcolor=white"; const string X = "x=(w-text_w)/2"; - const string Y = "y=(h-text_h)/2"; + const string Y = "y=(h-text_h)/3*2"; - return WithFiltergraph($"drawtext={FONT_FILE}:{FONT_SIZE}:{FONT_COLOR}:{X}:{Y}:text='{text}'"); + return WithFilterComplex( + $"[0:0]scale={desiredResolution.Width}:{desiredResolution.Height},drawtext={FONT_FILE}:{FONT_SIZE}:{FONT_COLOR}:{X}:{Y}:text='{text}'[v]", + "[v]", + "1:a"); } public FFmpegProcessBuilder WithDuration(TimeSpan duration) => diff --git a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs index d93b7fae3..3c8de1e34 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegProcessService.cs @@ -98,10 +98,7 @@ namespace ErsatzTV.Core.FFmpeg .WithLoopedImage("Resources/background.png") .WithLibavfilter() .WithInput("anullsrc") - .WithFilterComplex( - $"[0:0]scale={desiredResolution.Width}:{desiredResolution.Height}[video]", - "[video]", - "1:a") + .WithErrorText(desiredResolution, "Channel is Offline") .WithPixfmt("yuv420p") .WithPlaybackArgs(playbackSettings) .WithMetadata(channel) diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index 2384ef904..826435055 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -40,6 +40,9 @@ Always + + Always +