我正在使用ScreenCaptureJob尝试捕获我的屏幕视频。虽然它工作正常,但问题是文件大小很大。录制2-3分钟的文件大小将达到600 MB。
我已经尝试过降低帧速率但它没有做太多,甚至将质量降低到10%只会让我降到100 MB而且看起来很糟糕。这是关于你期望的3分钟1080p高清电影的文件大小,而不是一个糟糕的质量,30 FPS的屏幕录制。
这里有什么东西我缺少,或者有什么方法可以解决这个问题,或者ScreenCaptureJob是否记录了大量文件?也许有办法缩小这些文件,或者我应该使用不同的方法?
非常感谢您的帮助:
private void CaptureMoni(string x)
{
try
{
Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds;
ScreenCaptureJob scJob = new ScreenCaptureJob();
scJob.CaptureRectangle = _screenRectangle;
scJob.ShowFlashingBoundary = true;
scJob.ScreenCaptureVideoProfile.FrameRate = 30;
scJob.ScreenCaptureVideoProfile.Quality = 10;
scJob.CaptureMouseCursor = true;
scJob.OutputScreenCaptureFileName = string.Format(@"C:\cSharp\10quality" + x +".wmv");
if (File.Exists(scJob.OutputScreenCaptureFileName))
{
File.Delete(scJob.OutputScreenCaptureFileName);
}
scJob.Start();
[[ code to set recording time ]]
scJob.Stop();
}
catch (Exception e) { }
}
答案 0 :(得分:0)
使用ffmpeg编译文件。因为你需要创建图像序列
@" -r 5 -i" + RawFolderPath +" img_1%04d.png -pattern_type sequence -start_number 0001 -pix_fmt yuv420p" +路径+文件名