You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在一次执行中运行多条FFmpeg命令?

如何在一次执行中运行多条FFmpeg命令?

看起来你想批量执行FFmpeg命令,但之前的尝试出错是因为第二个命令漏掉了ffmpeg关键字,我来给你梳理几种可行的解决方案:

一、顺序执行(确保前一个命令完成再执行下一个)

如果你希望命令按顺序逐个执行(前一个成功完成后再跑下一个),可以用&&连接,注意每个命令都要完整写全:

ffmpeg -i vid.mkv -codec copy vid.mp4 && ffmpeg -i vid.mkv -map 0:2 output_file.wav && ffmpeg -i vid.mp4 -i output_file.wav -map 0:0 -map 1:0 -vcodec copy -acodec copy new_test.mp4
  • &&的作用是:只有前一个命令执行成功(返回码为0),才会执行后面的命令;如果用;代替&&,则不管前一个命令是否成功,都会继续执行下一个。

二、并行执行(让前两个命令同时运行)

如果你想让前两个导出命令同时运行(节省时间),可以用&把命令放到后台执行,再用wait等待两个后台命令都完成后,再执行合并命令:

ffmpeg -i vid.mkv -codec copy vid.mp4 & ffmpeg -i vid.mkv -map 0:2 output_file.wav && wait && ffmpeg -i vid.mp4 -i output_file.wav -map 0:0 -map 1:0 -vcodec copy -acodec copy new_test.mp4
  • 注意:并行读取同一个源文件可能会增加磁盘IO压力,如果你的磁盘性能一般,可能会出现卡顿或错误,这种情况下更推荐下面的高效方案。

三、更高效的单命令多输出(避免重复读取源文件)

因为你前两个命令都是读取同一个vid.mkv文件,重复读取会浪费系统资源,FFmpeg支持一次读取源文件同时输出多个结果,这样效率更高:

ffmpeg -i vid.mkv \
  -codec copy vid.mp4 \
  -map 0:2 -acodec copy output_file.wav

这条命令会一次性读取vid.mkv,同时导出复制编码的MP4文件,以及指定音轨的WAV文件。之后再执行你的合并命令即可:

ffmpeg -i vid.mp4 -i output_file.wav -map 0:0 -map 1:0 -vcodec copy -acodec copy new_test.mp4

备注:内容来源于stack exchange,提问作者Kyle Demi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:48:03