public static async Task Initial(IServiceProvider provider) { FFmpeg.ExecutablesPath = @"D:\office softwares\FFMpeg"; UserAndVideoDbContext context = provider.GetRequiredService <UserAndVideoDbContext>(); string videoDirectory = Path.Combine(Directory.GetCurrentDirectory(), "Video"); User author = context.Users.Include(u => u.Works).FirstOrDefault(u => u.Id == 1); if (!context.Videos.Any()) { for (int i = 1; i <= 6; i++) { string videoPath = Path.Combine(videoDirectory, $"{i}.mp4"); string picPath = Path.Combine(videoDirectory, $"{i}.jpg"); if (File.Exists(picPath)) { File.Delete(picPath); } //获取视频信息 IMediaInfo mediaInfo = await MediaInfo.Get(videoPath); //以 0 秒时的画面作为封面图并保存在本地 Conversion.Snapshot(videoPath, picPath, TimeSpan.FromSeconds(0)).Start().Wait(); Video video = new Video() { Title = $"轻音少女 第{i}集", Author = context.Users.FirstOrDefault(u => u.Id == 0), Category = Category.番剧, VideoLocation = videoPath, Duration = mediaInfo.Duration, PublishDateTime = DateTime.Now, ThumbnailLocation = PictureTrimmer.GetLocalTrimmedPicture(picPath), Tag = "轻音少女", VideoView = 0 }; author.Works.Add(video); await context.Videos.AddAsync(video); await context.SaveChangesAsync(); } } }
protected void SetPictureTrimmerConfiguration(PictureTrimmer pictureTrimmer) { pictureTrimmer.ShowDetailsPanel = this.cbShowDetailsPanel.Checked; pictureTrimmer.ShowZoomPanel = this.cbShowZoomPanel.Checked; pictureTrimmer.AllowResize = this.cbAllowResize.Checked; pictureTrimmer.ShowResizePanel = this.cbShowResizePanel.Checked; pictureTrimmer.ShowRotatePanel = this.cbShowRotatePanel.Checked; pictureTrimmer.ShowFlipPanel = this.cbShowFlipPanel.Checked; pictureTrimmer.ShowImageAdjustmentsPanel = this.cbShowImageAdjustmentsPanel.Checked; pictureTrimmer.ShowCropAlignmentLines = this.cbShowCropAlignmentLines.Checked; pictureTrimmer.EnableSnapping = this.cbEnableSnapping.Checked; pictureTrimmer.ShowRulers = this.cbShowRulers.Checked; pictureTrimmer.UIUnit = (GfxUnit)Enum.Parse(typeof(GfxUnit), this.ddlUIUnit.SelectedValue); pictureTrimmer.BackColor = System.Drawing.ColorTranslator.FromHtml(this.txtBackColor.Text); pictureTrimmer.ForeColor = System.Drawing.ColorTranslator.FromHtml(this.txtForeColor.Text); pictureTrimmer.CanvasColor.Value = System.Drawing.ColorTranslator.FromHtml(this.txtCanvasColor.Text); pictureTrimmer.ImageBackColor.Value = System.Drawing.ColorTranslator.FromHtml(this.txtImageBackColor.Text); pictureTrimmer.CropShadowMode = (PictureTrimmerCropShadowMode)Enum.Parse(typeof(PictureTrimmerCropShadowMode), this.ddlCropShadowMode.SelectedValue); }