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

Windows环境下如何批量移除多个视频的音频流

Windows下批量用FFmpeg移除指定音频流的方法

方法一:批处理脚本(.bat)

这是Windows下最简便的批量处理方式,步骤如下:

  1. 在要处理的视频文件所在文件夹,新建一个文本文件,重命名为batch_remove_audio.bat(注意修改扩展名从.txt为.bat)
  2. 右键编辑该批处理文件,粘贴以下代码:
@echo off
setlocal enabledelayedexpansion

:: 若FFmpeg已添加到系统环境变量,可删除下一行
set "ffmpeg_path=C:\实际路径\ffmpeg.exe"

:: 遍历当前目录下的MP4、MKV文件,可按需修改扩展名
for %%f in (*.mp4 *.mkv) do (
    set "output=%%~nf_processed%%~xf"
    "%ffmpeg_path%" -i "%%f" -map 0 -map -0:a:2 -c copy "!output!"
    echo 处理完成:%%f -> !output!
)

pause
  1. 替换代码里的C:\实际路径\ffmpeg.exe为你本地FFmpeg的实际路径,若FFmpeg已在系统PATH中,直接删除这一行即可
  2. 保存后双击运行批处理,脚本会自动遍历指定格式的视频,生成带_processed后缀的处理后文件

方法二:PowerShell脚本

适合熟悉PowerShell的用户,灵活性更强:

  1. 在视频文件夹新建文本文件,重命名为batch_remove_audio.ps1
  2. 编辑文件并粘贴以下代码:
# 若FFmpeg已在系统PATH中,可将下一行替换为$ffmpegPath = "ffmpeg"
$ffmpegPath = "C:\实际路径\ffmpeg.exe"

# 获取当前目录下的MP4、MKV视频文件,可自定义扩展名
$videoFiles = Get-ChildItem -Path . -Include *.mp4,*.mkv -File

foreach ($file in $videoFiles) {
    $outputPath = Join-Path $file.DirectoryName "$($file.BaseName)_processed$($file.Extension)"
    & $ffmpegPath -i $file.FullName -map 0 -map -0:a:2 -c copy $outputPath
    Write-Host "处理完成:$($file.Name) -> $($outputPath | Split-Path -Leaf)"
}
  1. 替换FFmpeg路径后,右键选择“用PowerShell运行”即可开始批量处理

注意事项

  • 处理前一定要备份原视频文件,避免操作失误导致文件损坏
  • 若需要移除的音频流索引不是0:a:2,请自行修改命令中的对应部分
  • 确保FFmpeg版本支持你的视频格式,建议使用最新稳定版

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:30:57