public async Task Run(FFmpegCmdOptions FFmpegOptions) { if (FFmpegOptions.Install != null) { var downloadFolder = FFmpegOptions.Install; if (!Directory.Exists(downloadFolder)) { Directory.CreateDirectory(downloadFolder); } _ffmpegSettings.FolderPath = downloadFolder; var progress = new Progress <FFmpegDownloaderProgress>(FFmpegProgressHandler); Console.Write(nameof(FFmpegDownloaderState.Ready)); var cts = new CancellationTokenSource(); Console.CancelKeyPress += (S, E) => { cts.Cancel(); // Prevent abrupt exit E.Cancel = true; }; await _downloadModel.Start(progress, cts.Token); } }
public async Task Run(FFmpegCmdOptions FFmpegOptions) { if (FFmpegOptions.Install != null) { var downloadFolder = FFmpegOptions.Install; if (!Directory.Exists(downloadFolder)) { Directory.CreateDirectory(downloadFolder); } _ffmpegSettings.FolderPath = downloadFolder; var progress = new Progress <FFmpegDownloaderProgress>(FFmpegProgressHandler); Console.Write(nameof(FFmpegDownloaderState.Ready)); await _downloadModel.Start(progress); } }
static async void FFmpeg(FFmpegCmdOptions FFmpegOptions) { if (FFmpegOptions.Install != null) { var downloadFolder = FFmpegOptions.Install; if (!Directory.Exists(downloadFolder)) { WriteLine("Directory doesn't exist"); return; } var ffMpegDownload = ServiceProvider.Get <FFmpegDownloadViewModel>(); ffMpegDownload.TargetFolder = FFmpegOptions.Install; await ffMpegDownload.Start(); WriteLine(ffMpegDownload.Status); } }