示例#1
0
        /// <summary>
        /// start to get thumbnail
        /// </summary>
        /// <param name="task"></param>
        /// <param name="outputFile"></param>
        /// <returns></returns>
        public static async Task <FileInfo> GetThumbnailAsync(this FFmpegThumbnailTask task, string outputFile, FFmpegEnviroment enviroment, CancellationToken cancellationToken = default)
        {
            task.OutputFile = new FileInfo(outputFile);

            task.AppendCommand(CultureInfo.InvariantCulture, " -ss {0} ", TimeSpan.FromSeconds(0));
            task.AppendCommand(" -vframes {0} ", 1);
            task.AppendCommand($" \"{outputFile}\" ");

            var process = new FFmpegProcess();
            await process.ExecuteAsync(task, enviroment, cancellationToken : cancellationToken);

            return(task.OutputFile);
        }
示例#2
0
 /// <summary>
 /// start to get thumbnail
 /// </summary>
 /// <param name="task"></param>
 /// <param name="outputFile"></param>
 /// <returns></returns>
 public static async Task <FileInfo> GetThumbnailAsync(this FFmpegThumbnailTask task, string outputFile, CancellationToken cancellationToken = default)
 {
     return(await GetThumbnailAsync(task, outputFile, FFmpegEnviroment.Default, cancellationToken : cancellationToken));
 }