情景:我用python爬取了很多.ts的文件,他们是一个个只有几秒的短视频,现在想把它们合并成一个电影:
合并的命令
copy /b *.ts new_name.mp4
/b是以二进制的形式合并:
现在我要执行的命令为 :copy /b D:\pythonFetch\movie\20190905\*.ts D:\pythonFetch\movie\20190905\new.mp4
及将D:\pythonFetch\movie\20190905\文件夹下所有的.ts后缀的文件以二进制复制到一个名为new.mp4的文件
os.system('copy /b %s\\*.ts %s\\%s.mp4' % ("D:\\pythonFetch\\movie\\20190905", "D:\\pythonFetch\\movie\\20190905","new"))
其中的%s可以理解为占位符,会将第一个%s替换成
D:\\pythonFetch\\movie\\20190905
会将第二个%s替换成
D:\\pythonFetch\\movie\\20190905
第三个%s替换成,也就是我复制后的名字
new
复制完后,有了新的new.ts,是所有的小的ts复制并拼接的,但是这个命令只是复制,我们应该把那些短ts删掉,
使用
os.system('del %s\\*.ts' % ("D:\\pythonFetch\\movie\\20190905"))
及,删除D:\pythonFetch\movie\20190905\下的所有ts文件,剩下的就是完整的名为new.mp4的电影咯。
有一个地方需要注意,比如我现在有10个ts文件,1.ts, 2.ts, 3.ts, .... 10.ts,
我合并的时候出现:
发现了没,顺序不对,因此合成的视频也有问题,不能正常观看,怎么办???
答:将文件名按照 001.ts 002.ts 003.ts 004.ts 005.ts 006.ts ... 010.ts的方式命名,再复制时便会按照顺序:
emmm,大功告成哈