private Task <byte[]> CreateThumbnailImpl(Title title, int position) { return(Task.Run(async() => { var time = TimeSpan.FromSeconds(position); var inputFilePath = TitleEnumerationService.GetUncPath(title.Location); var getThumbnailResult = await _mediaToolkitService.ExecuteAsync(new FfTaskGetThumbnail(inputFilePath, new GetThumbnailOptions() { SeekSpan = time, OutputFormat = OutputFormat.Image2, PixelFormat = PixelFormat.Rgba, })); var fs = new MemoryStream(); using (var img = new MagickImage(getThumbnailResult.ThumbnailData)) { img.Resize(512, 0); await img.WriteAsync(fs); } fs.Position = 0; return fs.ToArray(); })); }
public BufferedFileStreamActionResult(string fileName, string streamId) : base(MimeTypes.GetMimeType(fileName)) { FileName = TitleEnumerationService.GetUncPath(fileName); StreamId = streamId; }