Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
 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());
        }
Ejemplo n.º 4
0
        /// <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);
        }