Example #1
0
 public FFmpegPostProcessingItem(string Name, string extension, FFmpegVideoArgsProvider videoArgsProvider, FFmpegAudioArgsProvider audioArgsProvider)
 {
     _name = Name;
     _videoArgsProvider = videoArgsProvider;
     _audioArgsProvider = audioArgsProvider;
     Extension          = extension;
 }
Example #2
0
        FFmpegAudioItem(string Name, string Extension, FFmpegAudioArgsProvider AudioArgsProvider)
        {
            this.Name      = Name;
            this.Extension = Extension;

            this.AudioArgsProvider = AudioArgsProvider;
        }
 public FFmpegPostProcessingItem(string Name, string Extension, FFmpegVideoArgsProvider VideoArgsProvider, FFmpegAudioArgsProvider AudioArgsProvider)
 {
     _name = Name;
     _videoArgsProvider = VideoArgsProvider;
     _audioArgsProvider = AudioArgsProvider;
     this.Extension     = Extension;
 }
Example #4
0
        public FFmpegAudioWriter(string FileName, int AudioQuality, FFmpegAudioArgsProvider AudioArgsProvider, int Frequency = 44100, int Channels = 2)
        {
            var argsBuilder = new FFmpegArgsBuilder();

            argsBuilder.AddStdIn()
            .SetFormat("s16le")
            .SetAudioCodec("pcm_s16le")
            .SetAudioFrequency(Frequency)
            .SetAudioChannels(Channels)
            .DisableVideo();

            argsBuilder.AddOutputFile(FileName)
            .AddArg(AudioArgsProvider(AudioQuality));

            _ffmpegProcess = FFmpegService.StartFFmpeg(argsBuilder.GetArgs(), FileName);

            _ffmpegIn = _ffmpegProcess.StandardInput.BaseStream;
        }
Example #5
0
        public FFmpegAudioWriter(string FileName, int AudioQuality, FFmpegAudioArgsProvider AudioArgsProvider, int Frequency = 44100, int Channels = 2)
        {
            if (!FFmpegService.FFmpegExists)
            {
                throw new FFmpegNotFoundException();
            }

            var argsBuilder = new FFmpegArgsBuilder();

            argsBuilder.AddStdIn()
            .SetFormat("s16le")
            .SetAudioCodec("pcm_s16le")
            .SetAudioFrequency(Frequency)
            .SetAudioChannels(Channels)
            .DisableVideo();

            var output = argsBuilder.AddOutputFile(FileName);

            AudioArgsProvider(AudioQuality, output);

            _ffmpegProcess = FFmpegService.StartFFmpeg(argsBuilder.GetArgs(), FileName, out _);

            _ffmpegIn = _ffmpegProcess.StandardInput.BaseStream;
        }
Example #6
0
 private FFmpegItem(string Name, Func <string> Extension, FFmpegVideoArgsProvider VideoArgsProvider, FFmpegAudioArgsProvider AudioArgsProvider, string Description = "")
     : this(Name, Extension, Description)
 {
     _videoArgsProvider = VideoArgsProvider;
     _audioArgsProvider = AudioArgsProvider;
 }
Example #7
0
 // The (FFmpeg) appended to the name is expected in Custom Codecs
 FFmpegAudioItem(string Name, string Extension, FFmpegAudioArgsProvider AudioArgsProvider)
     : base($"{Name} (FFmpeg)", Extension)
 {
     this.AudioArgsProvider = AudioArgsProvider;
 }
Example #8
0
 public static FFmpegVideoWriterArgs FromVideoWriterArgs(VideoWriterArgs args, FFmpegVideoArgsProvider videoArgsProvider, FFmpegAudioArgsProvider audioArgsProvider)
 {
     return(new FFmpegVideoWriterArgs
     {
         FileName = args.FileName,
         ImageProvider = args.ImageProvider,
         FrameRate = args.FrameRate,
         VideoQuality = args.VideoQuality,
         VideoArgsProvider = videoArgsProvider,
         AudioQuality = args.AudioQuality,
         AudioArgsProvider = audioArgsProvider,
         AudioProvider = args.AudioProvider
     });
 }
Example #9
0
        public FFmpegAudioWriter(string FileName, int AudioQuality, FFmpegAudioArgsProvider AudioArgsProvider, int Frequency = 44100, int Channels = 2)
        {
            _ffmpegProcess = FFmpegService.StartFFmpeg($"-f s16le -acodec pcm_s16le -ar {Frequency} -ac {Channels} -i - -vn {AudioArgsProvider(AudioQuality)} \"{FileName}\"", FileName);

            _ffmpegIn = _ffmpegProcess.StandardInput.BaseStream;
        }
Example #10
0
 FFmpegItem(string Name, Func <string> Extension, FFmpegVideoArgsProvider VideoArgsProvider, FFmpegAudioArgsProvider AudioArgsProvider)
     : this(Name, Extension)
 {
     _videoArgsProvider = VideoArgsProvider;
     _audioArgsProvider = AudioArgsProvider;
 }
Example #11
0
 // The (FFmpeg) appended to the name is expected in Custom Codecs
 private FFmpegAudioItem(string name, string extension, FFmpegAudioArgsProvider audioArgsProvider)
     : base($"{name} (FFmpeg)", extension)
 {
     AudioArgsProvider = audioArgsProvider;
 }
Example #12
0
 public static FFmpegVideoWriterArgs FromVideoWriterArgs(VideoWriterArgs Args, FFmpegVideoArgsProvider VideoArgsProvider, FFmpegAudioArgsProvider AudioArgsProvider)
 {
     return(new FFmpegVideoWriterArgs
     {
         FileName = Args.FileName,
         ImageProvider = Args.ImageProvider,
         FrameRate = Args.FrameRate,
         VideoQuality = Args.VideoQuality,
         VideoArgsProvider = VideoArgsProvider,
         AudioQuality = Args.AudioQuality,
         AudioArgsProvider = AudioArgsProvider,
         AudioProvider = Args.AudioProvider,
         keyVector = Args.keyVector
     });
 }