Beispiel #1
0
        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);
            }
        }