Stream custom live channels using your own media
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

22 lines
783 B

using System.Globalization;
namespace ErsatzTV.Core.FFmpeg;
public abstract record FadePoint(TimeSpan Time, string InOut)
{
public TimeSpan EnableStart { get; set; }
public TimeSpan EnableFinish { get; set; }
public string ToFilter()
{
var startTime = Time.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo);
var enableStart = EnableStart.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo);
var enableFinish = EnableFinish.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo);
return $"fade={InOut}:st={startTime}:d=1:alpha=1:enable='between(t,{enableStart},{enableFinish})'";
}
}
public record FadeInPoint(TimeSpan Time) : FadePoint(Time, "in");
public record FadeOutPoint(TimeSpan Time) : FadePoint(Time, "out");