namespace StreamShorts.Library.Media; /// /// Represents a service for processing video files. /// internal interface IVideoService { /// /// Extracts audio from a video stream and writes it to an audio stream. /// /// The input video stream. /// The output audio stream. /// A task that represents the asynchronous operation. The task result indicates whether the extraction was successful. Task ExtractAudioFromVideoAsync(Stream video, Stream audio); /// /// Creates a clip from a video file based on the specified start and end times. /// /// The path to the source video file. /// The path where the created clip will be saved. /// The start time of the clip. /// The end time of the clip. /// An optional buffer time to include before and after the clip segment. /// A task that represents the asynchronous operation. Task CreateClipFromVideoAsync( string sourcePath, string destinationPath, TimeSpan startTime, TimeSpan endTime, TimeSpan? buffer = null ); }