feat: complete implementation using gemini as analyzer
This commit is contained in:
@@ -12,14 +12,21 @@ internal interface IVideoService
|
||||
/// <param name="audio">The output audio stream.</param>
|
||||
/// <returns>A task that represents the asynchronous operation. The task result indicates whether the extraction was successful.</returns>
|
||||
Task<bool> ExtractAudioFromVideoAsync(Stream video, Stream audio);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Extracts a clip from a video stream.
|
||||
/// Creates a clip from a video file based on the specified start and end times.
|
||||
/// </summary>
|
||||
/// <param name="video">The input video stream.</param>
|
||||
/// <param name="start">The start time of the clip.</param>
|
||||
/// <param name="end">The end time of the clip.</param>
|
||||
/// <param name="buffer">The duration of the buffer to include before the start time and after the end time.</param>
|
||||
/// <returns>A task that represents the asynchronous operation. The task result contains the extracted clip as a stream.</returns>
|
||||
Task<Stream> ExtractClipFromVideoAsync(Stream video, TimeSpan start, TimeSpan end, TimeSpan? buffer = null);
|
||||
/// <param name="sourcePath">The path to the source video file.</param>
|
||||
/// <param name="destinationPath">The path where the created clip will be saved.</param>
|
||||
/// <param name="startTime">The start time of the clip.</param>
|
||||
/// <param name="endTime">The end time of the clip.</param>
|
||||
/// <param name="buffer">An optional buffer time to include before and after the clip segment.</param>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
Task CreateClipFromVideoAsync(
|
||||
string sourcePath,
|
||||
string destinationPath,
|
||||
TimeSpan startTime,
|
||||
TimeSpan endTime,
|
||||
TimeSpan? buffer = null
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user