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

使用FFmpeg截取视频时如何正确保留全部音视频流?

问题原因

你的命令生成多余流的核心原因是重复映射音频流:你先使用了-map 0(该参数会将输入文件的所有流都映射到输出),之后又额外添加了-map 0:1和-map 0:2,相当于把这两条音频流重复复制了一次,最终导致输出文件里出现大量重复的音频流。

正确命令

方式一:保留所有原始流(最简写法)

如果确认输入文件只有1条视频流+3条立体声音轨(主轨+2条额外轨),直接用以下命令即可:

ffmpeg -i output.mov -ss 1200 -to 00:21:00 -map 0 -c copy output_excerpt.mov

方式二:明确指定映射流(更可控)

如果需要精准指定每一条要保留的流(避免意外映射到隐藏流),可以根据原文件的流编号逐一映射(假设原文件中0:0是视频流,0:1是主音频,0:2、0:3是额外音频):

ffmpeg -i output.mov -ss 1200 -to 00:21:00 -map 0:0 -c:v copy -map 0:1 -c:a copy -map 0:2 -c:a copy -map 0:3 -c:a copy output_excerpt.mov
命令关键参数说明
  • -ss 1200:从输入文件的第1200秒开始截取片段
  • -to 00:21:00:截取到输入文件的21分钟位置(若把-ss放在-i前,-to会变成截取片段的总时长,此处保持你原始的时间逻辑)
  • -map 0:映射编号为0的输入文件的所有流,确保视频和所有音频都被保留
  • -c copy:对所有流采用直接复制模式,不重新编码,保证处理速度和原始音视频质量

执行以上命令后,输出文件将只包含1条视频流+3条立体声音轨,共4条流,完全符合你的预期。

内容的提问来源于stack exchange,提问作者BabaG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 01:06:13