public static void CreateSplit(TASK SubTask, PARAM_SPLIT ParamSplit) { VideoFile split = new VideoFile(SubTask.FILE_URL); int count = SubTask.FILE_URL.LastIndexOf('.'); string leftPart = SubTask.FILE_URL.Substring(0, count); string format = SubTask.FILE_URL.Substring(count); string fullName = leftPart + "_" + SubTask.PK_ID_TASK.ToString() + format; SubTask.FILE_URL = fullName; SubTask.FILE_URL_TEMP = fullName; split.ExtractVideoSegment(fullName, Convert.ToInt64(ParamSplit.BEGIN_PARAM_SPLIT), Convert.ToInt64(ParamSplit.END_PARAM_SPLIT), Core.Transcoder.FFmpegWrapper.Videos.VideoFormat.avi); SubTask.STATUS = (int)EnumManager.PARAM_TASK_STATUS.A_FAIRE; new TASK_Service().AddOrUpdateTask(SubTask); }
public static void CreateSplit(TASK SubTask, PARAM_SPLIT ParamSplit) { try { VideoFile split = new VideoFile(SubTask.FILE_URL); int count = SubTask.FILE_URL.LastIndexOf('.'); string leftPart = SubTask.FILE_URL.Substring(0, count); string format = SubTask.FILE_URL.Substring(count); string fullName = leftPart + "_" + SubTask.PK_ID_TASK.ToString() + format; SubTask.FILE_URL = fullName; SubTask.FILE_URL_TEMP = fullName; // On met un statut temporaire a 0 pour initialiser la tache SubTask.STATUS = (int)EnumManager.PARAM_TASK_STATUS.SPLIT_EN_COURS; new TASK_Service().UpdateTask(SubTask); // on extrait notre split split.ExtractVideoSegment(fullName, Convert.ToInt64(ParamSplit.BEGIN_PARAM_SPLIT), Convert.ToInt64(ParamSplit.END_PARAM_SPLIT), Core.Transcoder.FFmpegWrapper.Videos.VideoFormat.avi); SubTask.STATUS = (int)EnumManager.PARAM_TASK_STATUS.A_FAIRE; new TASK_Service().UpdateTask(SubTask); } catch (Exception e) { SubTask.STATUS = (int)EnumManager.PARAM_TASK_STATUS.ERREUR; new TASK_Service().UpdateTask(SubTask); TRACE trace = new TRACE() { FK_ID_TASK = SubTask.PK_ID_TASK, FK_ID_SERVER = 1, METHOD = "FFMPEG Split", TYPE = "ERROR", DESCRIPTION = e.Message + " " + e.InnerException, DATE_TRACE = DateTime.Now, NOM_SERVER = System.Environment.MachineName }; new TRACE_Service().AddTrace(trace); } }