Esempio n. 1
0
    /*  static string GenerateMov(Job job)
     * {
     *      string offset = " -start_number " + job.MinimumFrameRendered;
     *
     *
     *      // -vf scale = 320:-1 "- vf scale = 320:-1, "+ + GammaCorretion + job.Id.ToString()+"_"
     *      string tmp = offset + " -i  " +job.RenderNameMask+"%04d" + "-y " + job.ServerPreviewMovFilePath;
     *      Console.WriteLine("\nFFMPEG:  " + tmp + "\n");
     *      _ = Program.RunFFMpeg(tmp);
     *      return tmp;
     * }*/

    static void CheckSequence(Job job)
    {
        if (job.Id == 2)
        {
        }
        int SequenceCounter = 0;

        foreach (var item in job.ExistingFiles)
        {
            int framenumber = RenderTask.GetFrameNumberFromFileName(item);
            if (framenumber < 100000)
            {
                if (job.MaximumFrameRendered < framenumber)
                {
                    job.MaximumFrameRendered = framenumber;
                }
                if (job.MinimumFrameRendered > framenumber)
                {
                    job.MinimumFrameRendered = framenumber;
                }
            }
        }
        job.FramesMissed = new List <string>();
        job.MovRendered  = false;
        string Frame = "";


        if (job.Id == 3)
        {
        }
        for (int j = job.MinimumFrameRendered; j <= job.MaximumFrameRendered; j++)
        {
            Frame = j.ToString();
            if (Frame.Length == 1)
            {
                Frame = "000" + Frame;
            }
            if (Frame.Length == 2)
            {
                Frame = "00" + Frame;
            }
            if (Frame.Length == 3)
            {
                Frame = "0" + Frame;
            }
            string tempFrameId = Frame;
            Frame = RenderTask.GetServerPreviewFileNameByOriginalFileName(job.RenderNameMask + Frame + ".jpg", job);


            // проверка  на новизну ебаную
            if (File.Exists(Frame))
            {
                SequenceCounter++;
            }



            else
            {
                job.FramesMissed.Add(Frame.Substring(Frame.Length - 8, 4));
                Program.GenerateFromMissedToServerPreviewFrame(job, Frame);
                SequenceCounter++;

                /*
                 * if (  job.MovRendered==false)
                 * {
                 *      if (job.LastMovFramesCounter != j)
                 *      {
                 *              Console.WriteLine("\nGenerating MOV: "+ job.Id+" " + job.MinimumFrameRendered.ToString() + "-" + job.MaximumFrameRendered.ToString());
                 *
                 *               GenerateMovFile(job, Frame, job.MinimumFrameRendered, j);
                 *              job.MovRendered = true;
                 *              job.LastMovFramesCounter = j;
                 *      }
                 *      else
                 *      {
                 *              Console.WriteLine("\nПропускаем MOV, так как число файлов не изменилось\n");
                 *      }
                 * }
                 *
                 */
            }
            if (SequenceCounter >= (job.MaximumFrameRendered - job.MinimumFrameRendered))
            {
                job.MovRendered = true;
                GenerateMovFile(job, Frame, job.MinimumFrameRendered, j);
            }
        }
        Console.WriteLine("Пропущенных кадров: " + job.FramesMissed.Count);
    }