public void Save(string filePath)
        {
            Directory.CreateDirectory(Path.GetDirectoryName(filePath));
            // Don't serialize DeshakerSesttings unless Deshaker is enabled, but preserve settings within class.
            MediaEncoderDeshakerSettings S = DeshakerSettings;

            if (!Deshaker)
            {
                DeshakerSettings = null;
            }

            using (var writer = new StreamWriter(filePath)) {
                var serializer             = new XmlSerializer(typeof(MediaEncoderSettings));
                XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                ns.Add("", "");
                XmlWriterSettings ws = new XmlWriterSettings();
                // ws.NewLineHandling = NewLineHandling.Entitize;
                using (XmlWriter wr = XmlWriter.Create(writer, ws)) {
                    serializer.Serialize(wr, this, ns);
                }
                writer.Flush();
            }

            if (!Deshaker)
            {
                DeshakerSettings = S;
            }
        }
 public MediaEncoderSettings()
 {
     JobIndex              = -1;
     SourceColorMatrix     = ColorMatrix.Rec601;
     SourceChromaPlacement = ChromaPlacement.MPEG2;
     OutputHeight          = 768;
     Denoise                   = true;
     DenoiseSharp              = 13;
     DenoiseRn                 = 10;
     Degrain                   = false;
     DegrainStrength           = 10;
     DegrainSharp              = true;
     IncreaseFrameRate         = true;
     IncreaseFrameRateValue    = FrameRateModeEnum.fps60;
     IncreaseFrameRatePreset   = FrameRatePresetEnum.Slower;
     UpscaleMethod             = UpscaleMethods.SuperXbr;
     DownscaleMethod           = DownscaleMethods.Bicubic;
     SuperXbrStrength          = 27;
     SuperXbrSharpness         = 13;
     SuperRes                  = true;
     SuperRes3Passes           = true;
     SuperResStrength          = 100;
     SuperResSoftness          = 0;
     SSimStrength              = 80;
     SSimSoft                  = false;
     TrimStart                 = 0;
     ChangeSpeedValue          = 100;
     VideoAction               = VideoAction.x265;
     EncodeQuality             = 22;
     EncodePreset              = EncodePresets.medium;
     AudioQuality              = 256;
     ChangeAudioPitch          = false;
     DeshakerSettings          = new MediaEncoderDeshakerSettings();
     DeshakerSettings.Segments = new ObservableCollection <MediaEncoderDeshakerSegmentSettings>();
     DeshakerSettings.Segments.Add(new MediaEncoderDeshakerSegmentSettings());
 }
示例#3
0
 public void CopyTo(MediaEncoderDeshakerSettings target)
 {
     ExtensionMethods.CopyAll <MediaEncoderDeshakerSettings>(this, target);
 }