From 583f2a725efd24c46928422d856672defb4e902b Mon Sep 17 00:00:00 2001 From: John Andrews Date: Wed, 24 Apr 2024 17:57:38 +1200 Subject: [PATCH] FF-1493: Added ability to save images to the file log --- Apprise/Communication/Apprise.cs | 6 +- AudioNodes/AudioFormatInfo.cs | 2 +- AudioNodes/Nodes/AudioFileNormalization.cs | 4 +- .../Nodes/ConvertFlowElements/ConvertNode.cs | 8 +- DiscordNodes/Communication/Discord.cs | 10 +-- DiscordNodes/PluginSettings.cs | 4 +- EmailNodes/PluginSettings.cs | 8 +- Emby/MediaManagement/EmbyUpdater.cs | 4 +- Emby/PluginSettings.cs | 6 +- FileFlows.Plugin.dll | Bin 135168 -> 135680 bytes FileFlows.Plugin.pdb | Bin 32724 -> 32948 bytes Gotify/Communication/Gotify.cs | 8 +- Gotify/PluginSettings.cs | 4 +- Plex/PluginSettings.cs | 8 +- Pushbullet/Communication/Pushbullet.cs | 6 +- Pushbullet/PluginSettings.cs | 2 +- Pushover/Communication/Pushover.cs | 10 +-- Pushover/PluginSettings.cs | 4 +- Telegram/Communication/Telegram.cs | 4 +- Telegram/PluginSettings.cs | 4 +- .../Video/FfmpegBuilderCropBlackBars.cs | 83 ++++++++++++++++-- 21 files changed, 131 insertions(+), 54 deletions(-) diff --git a/Apprise/Communication/Apprise.cs b/Apprise/Communication/Apprise.cs index e86b9f03..2595798f 100644 --- a/Apprise/Communication/Apprise.cs +++ b/Apprise/Communication/Apprise.cs @@ -29,7 +29,7 @@ public class Apprise: Node [Select(nameof(MessageTypeOptions), 2)] public string MessageType { get; set; } = string.Empty; - private static List _MessageTypeOptions; + private static List? _MessageTypeOptions; public static List MessageTypeOptions { get @@ -54,9 +54,9 @@ public class Apprise: Node /// [Required] [Template(3, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTemplates; + private static List? _MessageTemplates; public static List MessageTemplates { get diff --git a/AudioNodes/AudioFormatInfo.cs b/AudioNodes/AudioFormatInfo.cs index 11c764d8..20440909 100644 --- a/AudioNodes/AudioFormatInfo.cs +++ b/AudioNodes/AudioFormatInfo.cs @@ -165,7 +165,7 @@ public class FFprobeTimeSpanConverter : JsonConverter { public override TimeSpan Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string stringValue = reader.GetString(); + var stringValue = reader.GetString() ?? string.Empty; if (double.TryParse(stringValue, out double seconds) == false) return default; diff --git a/AudioNodes/Nodes/AudioFileNormalization.cs b/AudioNodes/Nodes/AudioFileNormalization.cs index 55efe340..42109af2 100644 --- a/AudioNodes/Nodes/AudioFileNormalization.cs +++ b/AudioNodes/Nodes/AudioFileNormalization.cs @@ -111,7 +111,9 @@ public class AudioFileNormalization : AudioNode args.Logger?.WLog("Failed to parse TwoPass json\""); return (false, string.Empty); } - LoudNormStats stats = JsonSerializer.Deserialize(json); + var stats = JsonSerializer.Deserialize(json); + if (stats == null) + return (false, string.Empty); string ar = $"loudnorm=print_format=summary:linear=true:{LOUDNORM_TARGET}:measured_I={stats.input_i}:measured_LRA={stats.input_lra}:measured_tp={stats.input_tp}:measured_thresh={stats.input_thresh}:offset={stats.target_offset}"; return (true, ar); } diff --git a/AudioNodes/Nodes/ConvertFlowElements/ConvertNode.cs b/AudioNodes/Nodes/ConvertFlowElements/ConvertNode.cs index 33bb8285..ef27cc05 100644 --- a/AudioNodes/Nodes/ConvertFlowElements/ConvertNode.cs +++ b/AudioNodes/Nodes/ConvertFlowElements/ConvertNode.cs @@ -314,10 +314,10 @@ namespace FileFlows.AudioNodes } - var ffArgs = GetArguments(args, out string extension); - string actualExt = args.ReplaceVariables(CustomExtension, stripMissing: true)?.EmptyAsNull() ?? - extension?.EmptyAsNull() ?? DefaultExtension; - string outputFile = FileHelper.Combine(args.TempPath, Guid.NewGuid() + "." + actualExt.TrimStart('.')); + var ffArgs = GetArguments(args, out var extension); + var actualExt = args.ReplaceVariables(CustomExtension, stripMissing: true)?.EmptyAsNull() ?? + extension?.EmptyAsNull() ?? DefaultExtension; + var outputFile = FileHelper.Combine(args.TempPath, Guid.NewGuid() + "." + actualExt.TrimStart('.')); ffArgs.Insert(0, "-hide_banner"); ffArgs.Insert(1, "-y"); // tells ffmpeg to replace the file if already exists, which it shouldnt but just incase diff --git a/DiscordNodes/Communication/Discord.cs b/DiscordNodes/Communication/Discord.cs index ebd2d53c..9aaa4e68 100644 --- a/DiscordNodes/Communication/Discord.cs +++ b/DiscordNodes/Communication/Discord.cs @@ -23,23 +23,23 @@ public class Discord: Node /// Gets or sets the title /// [TextVariable(1)] - public string Title { get; set; } + public string Title { get; set; } = string.Empty; /// /// Gets or sets the message type /// [DefaultValue("standard")] [Select(nameof(MessageTypeOptions), 2)] - public string MessageType { get; set; } + public string MessageType { get; set; } = "standard"; /// /// Gets or sets the message /// [Required] [Template(3, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTypeOptions; + private static List? _MessageTypeOptions; public static List MessageTypeOptions { get @@ -60,7 +60,7 @@ public class Discord: Node } } - private static List _MessageTemplates; + private static List? _MessageTemplates; public static List MessageTemplates { get diff --git a/DiscordNodes/PluginSettings.cs b/DiscordNodes/PluginSettings.cs index 005cb43a..2f269f7c 100644 --- a/DiscordNodes/PluginSettings.cs +++ b/DiscordNodes/PluginSettings.cs @@ -10,12 +10,12 @@ public class PluginSettings:IPluginSettings /// [Text(1)] [Required] - public string WebhookId { get; set; } + public string WebhookId { get; set; } = string.Empty; /// /// Gets or sets the webhook token for this plugin /// [Text(2)] [Required] - public string WebhookToken { get; set; } + public string WebhookToken { get; set; } = string.Empty; } diff --git a/EmailNodes/PluginSettings.cs b/EmailNodes/PluginSettings.cs index e43fd6e2..164ad9dd 100644 --- a/EmailNodes/PluginSettings.cs +++ b/EmailNodes/PluginSettings.cs @@ -9,21 +9,21 @@ { [Required] [Text(1)] - public string SmtpServer { get; set; } + public string SmtpServer { get; set; } = string.Empty; [Range(1, 6555)] [NumberInt(1)] public int SmtpPort { get; set; } [Text(2)] - public string SmtpUsername { get; set; } + public string SmtpUsername { get; set; } = string.Empty; [Password(3)] - public string SmtpPassword { get; set; } + public string SmtpPassword { get; set; } = string.Empty; [Text(4)] [Required] [System.ComponentModel.DataAnnotations.RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")] - public string Sender { get; set; } + public string Sender { get; set; } = string.Empty; } } diff --git a/Emby/MediaManagement/EmbyUpdater.cs b/Emby/MediaManagement/EmbyUpdater.cs index f7a59a76..5c187f35 100644 --- a/Emby/MediaManagement/EmbyUpdater.cs +++ b/Emby/MediaManagement/EmbyUpdater.cs @@ -17,10 +17,10 @@ public class EmbyUpdater: Node public override bool NoEditorOnAdd => true; [Text(1)] - public string ServerUrl { get; set; } + public string ServerUrl { get; set; } = string.Empty; [Text(2)] - public string AccessToken { get; set; } + public string AccessToken { get; set; } = string.Empty; [KeyValue(3, null)] public List> Mapping { get; set; } diff --git a/Emby/PluginSettings.cs b/Emby/PluginSettings.cs index f46c0b45..7eebbd3e 100644 --- a/Emby/PluginSettings.cs +++ b/Emby/PluginSettings.cs @@ -8,13 +8,13 @@ { [Text(1)] [Required] - public string ServerUrl { get; set; } + public string ServerUrl { get; set; } = string.Empty; [Text(2)] [Required] - public string AccessToken { get; set; } + public string AccessToken { get; set; } = string.Empty; [KeyValue(3, null)] - public List> Mapping { get; set; } + public List>? Mapping { get; set; } } } diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index bc9136805bf25b9b779abe34cd4a4be9d8d6a470..f7b57ae58c155b7cb86207157a96cdfbde5f19e1 100644 GIT binary patch literal 135680 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 LzeV%^iUa=x679I& literal 135168 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 diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index 2e7c9914b7664d0dc0b7d09a4ba32ab8cf7d2e3d..0e5cf857a68a23ec2d04bc52e836c2ef9401e3a5 100644 GIT binary patch delta 9101 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 delta 8833 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 ULDOL+voTXjQW_eKRws!550WM}TL1t6 diff --git a/Gotify/Communication/Gotify.cs b/Gotify/Communication/Gotify.cs index de7c41ff..43438618 100644 --- a/Gotify/Communication/Gotify.cs +++ b/Gotify/Communication/Gotify.cs @@ -1,4 +1,5 @@ using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; using System.Text.Json; namespace FileFlows.Gotify.Communication; @@ -42,7 +43,7 @@ public class Gotify: Node /// Gets or sets the title of the message /// [TextVariable(1)] - public string Title { get; set; } + public string Title { get; set; } = string.Empty; /// @@ -58,9 +59,9 @@ public class Gotify: Node /// [Required] [Template(3, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTemplates; + private static List? _MessageTemplates; public static List MessageTemplates { get @@ -96,6 +97,7 @@ File shrunk in size by: {{ difference | file_size }} / {{ percent }}% /// /// the node parameters /// the output to call next + [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "")] public override int Execute(NodeParameters args) { try diff --git a/Gotify/PluginSettings.cs b/Gotify/PluginSettings.cs index 73d8a105..a3ce8e44 100644 --- a/Gotify/PluginSettings.cs +++ b/Gotify/PluginSettings.cs @@ -10,12 +10,12 @@ public class PluginSettings : IPluginSettings /// [Text(1)] [Required] - public string ServerUrl { get; set; } + public string ServerUrl { get; set; } = string.Empty; /// /// Gets or sets the Access Token for the server /// [Text(2)] [Required] - public string AccessToken { get; set; } + public string AccessToken { get; set; } = string.Empty; } diff --git a/Plex/PluginSettings.cs b/Plex/PluginSettings.cs index f4ebec41..97013d21 100644 --- a/Plex/PluginSettings.cs +++ b/Plex/PluginSettings.cs @@ -9,13 +9,13 @@ { [Text(1)] [Required] - public string ServerUrl { get; set; } + public string ServerUrl { get; set; } = string.Empty; [Text(2)] [Required] - public string AccessToken { get; set; } + public string AccessToken { get; set; } = string.Empty; - [KeyValue(3, null)] - public List> Mapping { get; set; } + [KeyValue(3, null)] + public List> Mapping { get; set; } = new(); } } diff --git a/Pushbullet/Communication/Pushbullet.cs b/Pushbullet/Communication/Pushbullet.cs index 159ca0b8..35714e07 100644 --- a/Pushbullet/Communication/Pushbullet.cs +++ b/Pushbullet/Communication/Pushbullet.cs @@ -42,16 +42,16 @@ public class Pushbullet: Node /// [TextVariable(1)] [Required] - public string Title { get; set; } + public string Title { get; set; } = string.Empty; /// /// Gets or sets the message /// [Required] [Template(2, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTemplates; + private static List? _MessageTemplates; /// /// Gets a list of message templates /// diff --git a/Pushbullet/PluginSettings.cs b/Pushbullet/PluginSettings.cs index ecc9d7f0..46b86d6b 100644 --- a/Pushbullet/PluginSettings.cs +++ b/Pushbullet/PluginSettings.cs @@ -10,5 +10,5 @@ public class PluginSettings : IPluginSettings /// [Text(2)] [Required] - public string ApiToken { get; set; } + public string ApiToken { get; set; } = string.Empty; } diff --git a/Pushover/Communication/Pushover.cs b/Pushover/Communication/Pushover.cs index 75e4b2b3..e2c3af82 100644 --- a/Pushover/Communication/Pushover.cs +++ b/Pushover/Communication/Pushover.cs @@ -62,7 +62,7 @@ public class Pushover: Node [Range(30, 86400)] public int Retry { get; set; } = 2; - private static List _Priorities; + private static List? _Priorities; /// /// Gets a list of message templates /// @@ -83,16 +83,16 @@ public class Pushover: Node return _Priorities; } } - - + + /// /// Gets or sets the message /// [Required] [Template(3, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTemplates; + private static List? _MessageTemplates; /// /// Gets a list of message templates /// diff --git a/Pushover/PluginSettings.cs b/Pushover/PluginSettings.cs index 8c0d720c..c5b14a9f 100644 --- a/Pushover/PluginSettings.cs +++ b/Pushover/PluginSettings.cs @@ -10,12 +10,12 @@ public class PluginSettings : IPluginSettings /// [Text(1)] [Required] - public string UserKey { get; set; } + public string UserKey { get; set; } = string.Empty; /// /// Gets or sets the API Token /// [Text(2)] [Required] - public string ApiToken { get; set; } + public string ApiToken { get; set; } = string.Empty; } diff --git a/Telegram/Communication/Telegram.cs b/Telegram/Communication/Telegram.cs index 0d8f82f4..0a9dc13a 100644 --- a/Telegram/Communication/Telegram.cs +++ b/Telegram/Communication/Telegram.cs @@ -39,9 +39,9 @@ public class Telegram: Node /// [Required] [Template(1, nameof(MessageTemplates))] - public string Message { get; set; } + public string Message { get; set; } = string.Empty; - private static List _MessageTemplates; + private static List? _MessageTemplates; public static List MessageTemplates { get diff --git a/Telegram/PluginSettings.cs b/Telegram/PluginSettings.cs index 930d3f34..d9c7075c 100644 --- a/Telegram/PluginSettings.cs +++ b/Telegram/PluginSettings.cs @@ -10,12 +10,12 @@ public class PluginSettings : IPluginSettings /// [Text(1)] [Required] - public string BotToken { get; set; } + public string BotToken { get; set; } = string.Empty; /// /// Gets or sets the chat ID /// [Text(1)] [Required] - public string ChatId { get; set; } + public string ChatId { get; set; } = string.Empty; } \ No newline at end of file diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs index 73251d7a..ec3c0acb 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs @@ -1,4 +1,5 @@ using System.Diagnostics; +using System.IO; namespace FileFlows.VideoNodes.FfmpegBuilderNodes; public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode @@ -77,7 +78,7 @@ public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode }; } - string Execute(string ffplay, string file, NodeParameters args, int vidWidth, int vidHeight, int threshold, int seconds) + string Execute(string ffmpeg, string file, NodeParameters args, int vidWidth, int vidHeight, int threshold, int seconds) { try { @@ -88,17 +89,19 @@ public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode var intervals = GetTimeIntervals(seconds); if (intervals.Length == 0) return string.Empty; - foreach (int ss in intervals) // check at multiple times + foreach (int ss in intervals) // check at multiple times { + int intervalX = 0, intervalY = 0, intervalWidth = 0, intervalHeight = 0; using (var process = new Process()) { process.StartInfo = new ProcessStartInfo(); - process.StartInfo.FileName = ffplay; + process.StartInfo.FileName = ffmpeg; process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardError = true; process.StartInfo.CreateNoWindow = true; - process.StartInfo.Arguments = $" -ss {ss} -i \"{file}\" -hide_banner -vframes 25 -vf cropdetect -f null -"; + process.StartInfo.Arguments = + $" -ss {ss} -i \"{file}\" -hide_banner -vframes 25 -vf cropdetect -f null -"; args.Logger?.DLog("Executing ffmpeg " + process.StartInfo.Arguments); process.Start(); string output = process.StandardError.ReadToEnd(); @@ -106,7 +109,8 @@ public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode string error = process.StandardError.ReadToEnd(); process.WaitForExit(); - var dimMatch = Regex.Match(output, @"Stream #[\d]+:[\d]+(.*?)Video:(.*?)([\d]+)x([\d]+)", RegexOptions.Multiline); + var dimMatch = Regex.Match(output, @"Stream #[\d]+:[\d]+(.*?)Video:(.*?)([\d]+)x([\d]+)", + RegexOptions.Multiline); if (dimMatch.Success == false) { args.Logger?.WLog("Can't find dimensions for video"); @@ -117,12 +121,24 @@ public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode foreach (Match match in matches) { int[] parts = match.Value.Split(':').Select(x => int.Parse(x)).ToArray(); + intervalX = parts[2]; + intervalY = parts[3]; + intervalWidth = parts[0]; + intervalHeight = parts[1]; x = Math.Min(x, parts[2]); y = Math.Min(y, parts[3]); width = Math.Max(width, parts[0]); height = Math.Max(height, parts[1]); } } + + string imgFile = Path.Combine(args.TempPath, Guid.NewGuid() + ".jpg"); + if (ExtractFrameWithFFmpeg(args, ffmpeg, file, ss, imgFile) && File.Exists(imgFile)) + { + // draw rectangle on frame + args.ImageHelper?.DrawRectangleOnImage(imgFile, intervalX, intervalY, intervalWidth, intervalHeight); + args.LogImage(imgFile); + } } if (width == 0 || height == 0) @@ -161,6 +177,63 @@ public class FfmpegBuilderCropBlackBars : FfmpegBuilderNode { int diff = (vidWidth - detectedWidth) + (vidHeight - detectedHeight); return (diff > threshold, diff); + } + + + /// + /// Extracts a frame from a video at a specified time, scales it to 640x480 resolution, and saves it as a JPEG image using FFmpeg. + /// + /// the node parameters + /// The path to the FFmpeg executable. + /// The input video file. + /// The time offset in seconds. + /// The output image file path. + /// True if the frame was extracted and saved successfully, otherwise false. + static bool ExtractFrameWithFFmpeg(NodeParameters args, string ffmpeg, string inputFile, int ss, string destination) + { try + { + // Create process start info + + // Create process start info + ProcessStartInfo psi = new ProcessStartInfo + { + FileName = ffmpeg, + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + // Specify arguments using ArgumentList to avoid escaping issues + psi.ArgumentList.Add("-ss"); + psi.ArgumentList.Add(ss.ToString()); + psi.ArgumentList.Add("-i"); + psi.ArgumentList.Add(inputFile); + // psi.ArgumentList.Add("-vf"); + // psi.ArgumentList.Add("select=eq(n\\,0),scale=640:480"); + psi.ArgumentList.Add("-vframes"); + psi.ArgumentList.Add("1"); + psi.ArgumentList.Add(destination); + + // Start the process + using (Process process = Process.Start(psi)) + { + // Capture and display the output + string output = process.StandardOutput.ReadToEnd(); + string error = process.StandardError.ReadToEnd(); + + // Wait for the process to exit + process.WaitForExit(); + + if (process.ExitCode == 0) + return true; + args.Logger?.WLog($"Error extracting frame: {error}"); + return false; + } + } + catch (Exception ex) + { + args.Logger?.ELog($"An error occurred: {ex.Message}"); + return false; + } } } \ No newline at end of file