mirror of https://github.com/ErsatzTV/ErsatzTV.git
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.
76 lines
2.5 KiB
76 lines
2.5 KiB
using CliWrap; |
|
using ErsatzTV.Core.Domain; |
|
using ErsatzTV.Core.Domain.Filler; |
|
using ErsatzTV.Core.FFmpeg; |
|
using ErsatzTV.FFmpeg; |
|
using ErsatzTV.FFmpeg.State; |
|
|
|
namespace ErsatzTV.Core.Interfaces.FFmpeg; |
|
|
|
public interface IFFmpegProcessService |
|
{ |
|
Task<Command> ForPlayoutItem( |
|
string ffmpegPath, |
|
string ffprobePath, |
|
bool saveReports, |
|
Channel channel, |
|
MediaVersion videoVersion, |
|
MediaItemAudioVersion audioVersion, |
|
string videoPath, |
|
string audioPath, |
|
Func<FFmpegPlaybackSettings, Task<List<Subtitle>>> getSubtitles, |
|
string preferredAudioLanguage, |
|
string preferredAudioTitle, |
|
string preferredSubtitleLanguage, |
|
ChannelSubtitleMode subtitleMode, |
|
DateTimeOffset start, |
|
DateTimeOffset finish, |
|
DateTimeOffset now, |
|
Option<ChannelWatermark> playoutItemWatermark, |
|
Option<ChannelWatermark> globalWatermark, |
|
VaapiDriver vaapiDriver, |
|
string vaapiDevice, |
|
Option<int> qsvExtraHardwareFrames, |
|
bool hlsRealtime, |
|
FillerKind fillerKind, |
|
TimeSpan inPoint, |
|
TimeSpan outPoint, |
|
long ptsOffset, |
|
Option<int> targetFramerate, |
|
bool disableWatermarks, |
|
Action<FFmpegPipeline> pipelineAction); |
|
|
|
Task<Command> ForError( |
|
string ffmpegPath, |
|
Channel channel, |
|
Option<TimeSpan> duration, |
|
string errorMessage, |
|
bool hlsRealtime, |
|
long ptsOffset, |
|
VaapiDriver vaapiDriver, |
|
string vaapiDevice, |
|
Option<int> qsvExtraHardwareFrames); |
|
|
|
Task<Command> ConcatChannel(string ffmpegPath, bool saveReports, Channel channel, string scheme, string host); |
|
|
|
Task<Command> WrapSegmenter(string ffmpegPath, bool saveReports, Channel channel, string scheme, string host); |
|
|
|
Task<Command> ResizeImage(string ffmpegPath, string inputFile, string outputFile, int height); |
|
|
|
Task<Either<BaseError, string>> GenerateSongImage( |
|
string ffmpegPath, |
|
string ffprobePath, |
|
Option<string> subtitleFile, |
|
Channel channel, |
|
Option<ChannelWatermark> playoutItemWatermark, |
|
Option<ChannelWatermark> globalWatermark, |
|
MediaVersion videoVersion, |
|
string videoPath, |
|
bool boxBlur, |
|
Option<string> watermarkPath, |
|
WatermarkLocation watermarkLocation, |
|
int horizontalMarginPercent, |
|
int verticalMarginPercent, |
|
int watermarkWidthPercent, |
|
CancellationToken cancellationToken); |
|
}
|
|
|