Esempio n. 1
0
        public void ConcatFiles()
        {
            //Do we need to concatenate at all?
            if (files.numberOfFiles < 2)
            {
                return;
            }

            //make filelist
            string concatList = files.fileCaptureList[0].GetFullFile();

            for (int i = 1; i < files.fileCaptureList.Count; i++)
            {
                if (File.Exists(files.fileCaptureList[i].GetFullFile()))
                {
                    concatList = concatList + "|" + files.fileCaptureList[i].GetFullFile();
                }
            }

            //resulting concat file
            files.SetConcatFile(configuration["outputPath"]);

            //"concatCmdLine": "[FULLFFMPEGPATH] -i \"concat:[FILELIST]\" -c copy [FULLOUTPUTPATH]",
            string cmdLineArgs = configuration["concatCmdLine"];

            cmdLineArgs = cmdLineArgs.Replace("[FILELIST]", concatList);
            cmdLineArgs = cmdLineArgs.Replace("[FULLOUTPUTPATH]", files.concatFile.GetFullFile());

            //Run command to concat
            logWriter.WriteLine($"{DateTime.Now}: Starting Concat: {configuration["ffmpegPath"]} {cmdLineArgs}");
            new ProcessManager(configuration).ExecProcess(logWriter, configuration["ffmpegPath"], cmdLineArgs);
        }
        public void ConcatFiles()
        {
            //Do we need to concatenate at all?
            if (files.numberOfFiles < 2)
            {
                return;
            }

            //make filelist
            string concatList  = "";
            bool   prependPipe = false;

            for (int i = 0; i < files.fileCaptureList.Count; i++)
            {
                //make sure file exist before putting it into the list
                if (File.Exists(files.fileCaptureList[i].GetFullFile()))
                {
                    if (prependPipe)
                    {
                        concatList = concatList + "|"; //prepend if not the first
                    }
                    concatList  = concatList + files.fileCaptureList[i].GetFullFile();
                    prependPipe = true;  //now that we've got at least one file, we need to prepent pipe
                }
            }

            //resulting concat file
            files.SetConcatFile(configuration["outputPath"]);

            //"concatCmdLine": "[FULLFFMPEGPATH] -i \"concat:[FILELIST]\" -c copy [FULLOUTPUTPATH]",
            string cmdLineArgs = configuration["concatCmdLine"];

            cmdLineArgs = cmdLineArgs.Replace("[FILELIST]", concatList);
            cmdLineArgs = cmdLineArgs.Replace("[FULLOUTPUTPATH]", files.concatFile.GetFullFile());

            //Run command to concat
            logWriter.WriteLine($"{DateTime.Now}: Starting Concat: {configuration["ffmpegPath"]} {cmdLineArgs}");
            new ProcessManager(configuration).ExecProcess(logWriter, configuration["ffmpegPath"], cmdLineArgs);
        }