public void SaveSettings() { if (iniFile != null) { iniFile.WriteValue("Settings", "AudioInputPath", AudioInputPath); iniFile.WriteValue("Settings", "AudioChannel", AudioChannel.ToString()); iniFile.WriteValue("Settings", "AudioBitRate", AudioBitRate.ToString()); iniFile.WriteValue("Settings", "AudioSampleRate", AudioSampleRate.ToString()); iniFile.WriteValue("Settings", "AudioFrameSize", AudioFrameSize.ToString()); iniFile.WriteValue("Settings", "Camera1_InputPath", Camera1_InputPath); iniFile.WriteValue("Settings", "Camera2_InputPath", Camera2_InputPath); iniFile.WriteValue("Settings", "VideoMixingMode", VideoMixingMode.ToString()); iniFile.WriteValue("Settings", "VideoOutputFormat", VideoOutputFormat.ToString()); iniFile.WriteValue("Settings", "VideoBitRate", VideoBitRate.ToString()); iniFile.WriteValue("Settings", "VideoFrameRate", VideoFrameRate.ToString()); } Log.WriteLine(ToString()); }
public static string Formatted(this AudioSampleRate audioSampleRate) { return(audioSampleRate.ToString().TrimStart('_').Replace("_", ".")); }
public string[] ToStringArray() { List <string> parameters = new List <string>(); if (!string.IsNullOrEmpty(InputFile)) { parameters.Add("-i"); parameters.Add(InputFile); } if (VerbosityLevel >= 0) { parameters.Add("-v"); parameters.Add(VerbosityLevel.ToString()); } if (SecondsToSkip > 0) { TimeSpan skipDuration = TimeSpan.FromSeconds(SecondsToSkip); parameters.Add("-ss"); parameters.Add(string.Format("{0:hh\\:mm\\:ss\\.fff}", skipDuration)); } if (!string.IsNullOrEmpty(EarlyExtendedOptions)) { parameters.AddRange(EarlyExtendedOptions.Split(' ')); } if (!string.IsNullOrEmpty(OutputFormat)) { parameters.Add("-f"); parameters.Add(OutputFormat); } if (ExcludeVideo) { parameters.Add("-vn"); } else { if (!string.IsNullOrEmpty(VideoCodec)) { parameters.Add("-vcodec"); parameters.Add(VideoCodec); } if (VideoFramerate > 0) { parameters.Add("-r"); parameters.Add(VideoFramerate.ToString("F")); } if (!string.IsNullOrEmpty(VideoBitrate)) { parameters.Add("-b"); parameters.Add(VideoBitrate); } if (VideoQualityControl > 0) { parameters.Add("-crf"); parameters.Add(VideoQualityControl.ToString()); } if (!string.IsNullOrEmpty(VideoPreset)) { parameters.Add("-vpre"); parameters.Add(string.Format("{0}", VideoPreset)); } if ((VideoWidth != -1 || VideoHeight != -1) && (VideoWidth != 0 || VideoHeight != 0)) { parameters.Add("-vf"); parameters.Add(string.Format("scale={0}:{1}", VideoWidth, VideoHeight)); } } if (ExcludeAudio) { parameters.Add("-an"); } else { if (!string.IsNullOrEmpty(AudioCodec)) { parameters.Add("-acodec"); parameters.Add(AudioCodec); } if (AudioSampleRate > 0) { parameters.Add("-ar"); parameters.Add(AudioSampleRate.ToString()); } if (!string.IsNullOrEmpty(AudioBitrate)) { parameters.Add("-ab"); parameters.Add(AudioBitrate); } if (AudioChannels > 0) { parameters.Add("-ac"); parameters.Add(AudioChannels.ToString()); } } if (!string.IsNullOrEmpty(LateExtendedOptions)) { parameters.AddRange(LateExtendedOptions.Split(' ')); } if (VideoStreamIndex != -1) { parameters.Add("-map"); parameters.Add(string.Format("0:{0}", VideoStreamIndex)); } if (AudioStreamIndex != -1) { parameters.Add("-map"); parameters.Add(string.Format("0:{0}", AudioStreamIndex)); } if (!string.IsNullOrEmpty(OutputFile)) { parameters.Add(string.Format("\"{0}\"", OutputFile)); } return(parameters.ToArray()); }
/// <summary> /// Set audio sample rate /// </summary> /// <typeparam name="TTask"></typeparam> /// <param name="task"></param> /// <param name="audioSampleRate"></param> /// <returns></returns> public static TTask AudioSampleRate <TTask>(this TTask task, AudioSampleRate audioSampleRate) where TTask : FFmpegConvertTask { task.AppendCommand(" -ar {0} ", audioSampleRate.ToString().Replace("Hz", "")); return(task); }