diff --git a/ShareX.ScreenCaptureLib/Enums.cs b/ShareX.ScreenCaptureLib/Enums.cs index 6525d7c1a..4a1e97e95 100644 --- a/ShareX.ScreenCaptureLib/Enums.cs +++ b/ShareX.ScreenCaptureLib/Enums.cs @@ -66,7 +66,7 @@ public enum FFmpegVideoCodec { [Description("x264")] libx264, - [Description("VP8")] + [Description("VP8 (WebM)")] libvpx, [Description("Xvid")] libxvid diff --git a/ShareX.ScreenCaptureLib/Screencast/FFmpegOptions.cs b/ShareX.ScreenCaptureLib/Screencast/FFmpegOptions.cs index 0c2ead840..65bcd0105 100644 --- a/ShareX.ScreenCaptureLib/Screencast/FFmpegOptions.cs +++ b/ShareX.ScreenCaptureLib/Screencast/FFmpegOptions.cs @@ -37,18 +37,14 @@ public class FFmpegOptions public string Extension { get; set; } public string CLIPath { get; set; } public string UserArgs { get; set; } - public bool ShowError { get; set; } public bool UseCustomCommands { get; set; } public string CustomCommands { get; set; } + public bool ShowError { get; set; } - // H.264 - x264 - public FFmpegPreset Preset { get; set; } + // Video + public FFmpegPreset x264_Preset { get; set; } public int x264_CRF { get; set; } - - // H.264 - VPx public int VPx_bitrate { get; set; } // kbit/s - - // H.263 public int XviD_qscale { get; set; } // Audio @@ -92,15 +88,11 @@ public FFmpegOptions() UserArgs = ""; ShowError = true; - // x264 + // Video x264_CRF = 30; - Preset = FFmpegPreset.fast; - - // VPx - VPx_bitrate = 1000; - - // XviD - XviD_qscale = 3; + x264_Preset = FFmpegPreset.veryfast; + VPx_bitrate = 3000; + XviD_qscale = 10; // Audio AAC_bitrate = 128; diff --git a/ShareX.ScreenCaptureLib/Screencast/FFmpegOptionsForm.cs b/ShareX.ScreenCaptureLib/Screencast/FFmpegOptionsForm.cs index b659fbfcb..0101947c3 100644 --- a/ShareX.ScreenCaptureLib/Screencast/FFmpegOptionsForm.cs +++ b/ShareX.ScreenCaptureLib/Screencast/FFmpegOptionsForm.cs @@ -76,7 +76,7 @@ private void SettingsLoad() // x264 nudx264CRF.Value = Options.FFmpeg.x264_CRF.Between((int)nudx264CRF.Minimum, (int)nudx264CRF.Maximum); - cbPreset.SelectedIndex = (int)Options.FFmpeg.Preset; + cbPreset.SelectedIndex = (int)Options.FFmpeg.x264_Preset; // VPx nudVP8Bitrate.Value = Options.FFmpeg.VPx_bitrate.Between((int)nudVP8Bitrate.Minimum, (int)nudVP8Bitrate.Maximum); @@ -223,7 +223,7 @@ private void nudx264CRF_ValueChanged(object sender, EventArgs e) private void cbPreset_SelectedIndexChanged(object sender, EventArgs e) { - Options.FFmpeg.Preset = (FFmpegPreset)cbPreset.SelectedIndex; + Options.FFmpeg.x264_Preset = (FFmpegPreset)cbPreset.SelectedIndex; UpdateUI(); } diff --git a/ShareX.ScreenCaptureLib/Screencast/ScreencastOptions.cs b/ShareX.ScreenCaptureLib/Screencast/ScreencastOptions.cs index 3f0601f92..1f2b1c591 100644 --- a/ShareX.ScreenCaptureLib/Screencast/ScreencastOptions.cs +++ b/ShareX.ScreenCaptureLib/Screencast/ScreencastOptions.cs @@ -145,7 +145,7 @@ public string GetFFmpegArgs(bool isCustom = false) { case FFmpegVideoCodec.libx264: // https://trac.ffmpeg.org/wiki/Encode/H.264 args.AppendFormat("-crf {0} ", FFmpeg.x264_CRF); - args.AppendFormat("-preset {0} ", FFmpeg.Preset); + args.AppendFormat("-preset {0} ", FFmpeg.x264_Preset); args.AppendFormat("-tune {0} ", "zerolatency"); args.Append("-pix_fmt yuv420p "); // -pix_fmt yuv420p required otherwise can't stream in Chrome break;