private void ComboFormatOnSelectionChanged(object sender, SelectionChangedEventArgs e) { VideoContainer currentContainer = (VideoContainer)comboFormat.SelectedItem; comboCodec.Items.Clear(); foreach (Codec codec in currentContainer.SupportedCodecs) { comboCodec.Items.Add(codec); if (Settings.Default.VideoCodec == codec.Name) { comboCodec.SelectedItem = Settings.Default.VideoCodec; } } if (comboCodec.SelectedItem == null) { comboCodec.SelectedIndex = 0; } }
private void Page_Initialized(object sender, EventArgs e) { List <string> fonts = new List <string>(); foreach (var fontFamily in fontManager.FontFamilies) { fonts.Add(fontFamily); } fonts.Sort(); foreach (var font in fonts) { comboFont.Items.Add(font); } if (comboFont.Items.Contains("Arial")) { comboFont.SelectedItem = "Arial"; } Codec h264Codec = new Codec() { Name = "H264", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v libx264 -preset veryfast -crf 18 -pix_fmt yuv420p \"{save_path}\"" }; Codec h265Codec = new Codec() { Name = "H265", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v libx265 -preset veryfast -crf 18 -pix_fmt yuv420p \"{save_path}\"" }; Codec vp8Codec = new Codec() { Name = "VP8", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v libvpx -crf 18 -b:v 2M -pix_fmt yuva420p -auto-alt-ref 0 \"{save_path}\"" }; Codec vp9Codec = new Codec() { Name = "VP9", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v libvpx-vp9 -crf 18 -b:v 2M -pix_fmt yuva420p \"{save_path}\"" }; Codec rleCodec = new Codec() { Name = "RLE", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v qtrle -pix_fmt argb \"{save_path}\"" }; Codec proresCodec = new Codec() { Name = "ProRes", InputArgs = "-framerate {fps} -f rawvideo -analyzeduration {max_int} -probesize {max_int} -pix_fmt bgra -video_size {width}x{height} -i -", OutputArgs = "-c:v prores_ks -qscale:v 62 -pix_fmt argb \"{save_path}\"" }; VideoContainer mp4Container = new VideoContainer() { Name = "MP4", SupportedCodecs = new List <Codec>() { h264Codec, h265Codec } }; VideoContainer movContainer = new VideoContainer() { Name = "MOV", SupportedCodecs = new List <Codec>() { h264Codec, h265Codec, rleCodec, proresCodec } }; VideoContainer webmContainer = new VideoContainer() { Name = "WEBM", SupportedCodecs = new List <Codec>() { vp8Codec, vp9Codec } }; VideoContainer mkvContainer = new VideoContainer() { Name = "MKV", SupportedCodecs = new List <Codec>() { h264Codec, h265Codec, vp8Codec, vp9Codec } }; comboFormat.Items.Add(mp4Container); comboFormat.Items.Add(movContainer); comboFormat.Items.Add(webmContainer); comboFormat.Items.Add(mkvContainer); LoadSettings(); }