第三篇了,继续简短,直接上代码(经过多次改动,请读者先看最后再回头看!!!)
下面这一行代码就是本篇的核心内容,殊途同归,起始也没有太大差异。
1 ffmpeg -i concat:"1.mpg|2.mpg|3.mpg" -c copy output.mp4
1 #include<iostream> 2 #include<string.h> 3 using namespace std; 4 int main() 5 { 6 string total="ffmpeg -i concat:\""; 7 for(int i=1;i<4;i++) 8 { 9 string s="C:\\Users\\17724\\Desktop\\test\\xx"+to_string(i)+".ts|"; 10 total+=s; 11 } 12 //这里注意最后一个文件后面多了一个|,代码就不想改了,读者手动删除就好。 13 total+="\" -c copy \"C:\\Users\\17724\\Desktop\\test\\outputVideo.mp4\""; 14 cout<<total<<endl; 15 }
注意路径就好了。循环次数,还有起始条件,终止条件,读者自己根据情况该改动即可。
最后将运行出来的结果复制后键入控制台,应该就万事大吉了。如果有什么问题的话,读者根据错误自己进行改动即可。
本来写到这里已经结束了,不过读者又测试了一下上千个文件的合并。发觉文件太多的时候,命令过长,不能完全粘贴到控制台。
起初以为是自己没有复制完,后来才发觉是粘贴不完。没办法,这个方法就不做推荐了。
不过,还是有了小小改动。
1 #include<iostream> 2 #include<fstream> 3 using namespace std; 4 int main() 5 { 6 ofstream mycout("C:\\Users\\17724\\Desktop\\test\\temp.txt"); 7 mycout<<"hello world\n"; 8 }
担心不好复制的话,将这两个c++代码综合就好了,这样还是不好粘贴,起码好复制了。
作者后来又把那个txt文件,改成bat的后缀来执行。直接把我给卡了半天,所以这种方法了解一下就好了。容易卡顿,只做了解即可!!!