private void FFmpegProcess_Process_Output(string data) { if (data == null) { return; } try { receivedMessagesLog.AppendLine(data); ConversionCompleteEventArgs convertCompleteEvent; ConvertProgressEventArgs progressEvent; if ((progressEvent = RegexEngine.IsProgressData(data)) != null) { progressEvent.TotalDuration = metadata.Duration; progress = progressEvent.ProcessedDuration.TotalSeconds / progressEvent.TotalDuration.TotalSeconds * 100.0; OnProgressChanged?.Invoke(this, progressEvent); } } catch (Exception ex) { Stop(); } }
public Metadata GetMetaData(string filePath) { string invokeString = "-i " + filePath; ProcessStartInfo info = ConvertToProcessStartInfo(invokeString); try { using (FFmpegProcess = new Process()) { FFmpegProcess.StartInfo = info; FFmpegProcess.Start(); string data = FFmpegProcess.StandardError.ReadToEnd(); FFmpegProcess.WaitForExit(); metadata = RegexEngine.GetMetaData(data); FFmpegProcess = null; } } catch (Exception) { Stop(); } return(metadata); }