注册 登录
编程论坛 C语言论坛

求助,合并多个批处理文件。。。

追梦人zmrghy 发布于 2022-08-21 13:03, 1159 次点击
求助,合并多个批处理文件。。。
批处理,合并视频流 ts文件。
批处理,合并后ts文件,转mp4。
批处理,转mp4完成后。 删除除所有ts文件。

第一条:copy/b *.ts AllFile.ts  
等待完成
第二条:fmpeg -i AllFile.ts -acodec copy -vcodec copy -absf aac_adtstoasc Video.mp4
等待完成
第三条: del *.ts

现在使用的是3个批处理文件。
如何变成,一条指令,或者一个批处理文件。
关键,如何等待一条指令完成后,再执行下一条指令。
4 回复
#2
chenyucheng2022-08-21 16:16
第一条:copy/b *.ts AllFile.ts  
等待完成
第二条:fmpeg -i AllFile.ts -acodec copy -vcodec copy -absf aac_adtstoasc Video.mp4
等待完成
第三条: del *.ts

简单,直接合并。
copy/b *.ts AllFile.ts
ffmpeg -i AllFile.ts -acodec copy -vcodec copy -absf aac_adtstoasc Video.mp4
del *.ts
保存为bat文件
错的:不是fmpeg而是ffmpeg

[此贴子已经被作者于2022-8-21 16:18编辑过]

#3
追梦人zmrghy2022-08-22 06:39
以下是引用chenyucheng在2022-8-21 16:16:57的发言:


简单,直接合并。
copy/b *.ts AllFile.ts
ffmpeg -i AllFile.ts -acodec copy -vcodec copy -absf aac_adtstoasc Video.mp4
del *.ts
保存为bat文件
错的:不是fmpeg而是ffmpeg。



可以直接合并,我还没尝试过。
之前,在C++中
system("copy/b *.ts AllFile.ts");
system("ffmpeg -i AllFile.ts -acodec copy -vcodec copy -absf aac_adtstoasc Video.mp4");
system("del *.ts");
这样连续三行代码,就会出错的。。。
不等完成,就会执行下一条指令。。。。。
#4
md000000002022-08-22 12:24
如果只是合并的话可以直接合并
程序代码:

// to_concat_file.txt
file a.ts
file b.ts
file c.ts



ffmpeg -f concat -safe 0 -i to_concat_file.txt -c copy output.mp4
#5
追梦人zmrghy2022-08-22 12:44
以下是引用md00000000在2022-8-22 12:24:10的发言:

如果只是合并的话可以直接合并

// to_concat_file.txt
file a.ts
file b.ts
file c.ts



ffmpeg -f concat -safe 0 -i to_concat_file.txt -c copy output.mp4

求详解:
 to_concat_file.txt 文件。从何来。。。
1