using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Text; using System.Text.RegularExpressions; using Microsoft.Extensions.Logging; namespace ConfusedPolarBear.Plugin.IntroSkipper; /// /// Wrapper for libchromaprint and the silencedetect filter. /// public static class FFmpegWrapper { // FFmpeg logs lines similar to the following: // [silencedetect @ 0x000000000000] silence_start: 12.34 // [silencedetect @ 0x000000000000] silence_end: 56.123 | silence_duration: 43.783 /// /// Used with FFmpeg's silencedetect filter to extract the start and end times of silence. /// private static readonly Regex SilenceDetectionExpression = new( "silence_(?start|end): (?