public FFMpegEncoderTask(MediaEncodingSetup encodingSetup, MediaEncodingTaskInfo taskInfo)
        {
            FFMpegEncoderTask ffMpegEncoderTask = this;

            Id                 = Guid.NewGuid();
            MediaId            = taskInfo.Id;
            _encodingSetup     = encodingSetup;
            _progress          = new FFMpegProgress(args => ConvertProgressEvent(this, args));
            _workingDirectory  = new FileInfo(Assembly.GetEntryAssembly().Location).Directory.FullName;
            _environmentConfig = new EnvironmentConfig(_workingDirectory);
            if (!_encodingSetup.NotEncoding)
            {
                TaskFinishedCallback += () => ffMpegEncoderTask.OnFinished(ffMpegEncoderTask, new ConvertFinishedEventArgs(DateTime.Now - ffMpegEncoderTask._startTime, taskInfo));
            }
        }