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

如何使用FFmpeg批量将文件夹中的TS文件转换为同名MP4文件

如何使用FFmpeg批量将文件夹中的TS文件转换为同名MP4文件

嘿,这个需求太常见了,我给你分不同操作系统列几个实用的命令方案,你直接对应着用就行:

Windows 命令提示符(CMD)

打开CMD并切换到你的视频文件夹,输入这条命令:

for %f in (*.ts) do ffmpeg -i "%f" -c copy "%~nf.mp4"
  • 解释一下:%f代表每个TS文件,%~nf会提取不带扩展名的文件名,这样就能生成同名的MP4文件
  • -c copy是直接复制视频和音频流,不重新编码,速度超快!如果遇到TS文件编码不兼容的情况,可以换成转码命令:ffmpeg -i "%f" -c:v libx264 -c:a aac "%~nf.mp4"

Windows PowerShell

要是你习惯用PowerShell,这条命令更符合PowerShell的风格:

Get-ChildItem -Filter *.ts | ForEach-Object { ffmpeg -i $_.FullName -c copy "$($_.BaseName).mp4" }
  • Get-ChildItem会列出所有TS文件,通过管道传给ForEach-Object逐个处理,$_.BaseName就是不带后缀的文件名

Linux/macOS(Bash/Zsh)

在终端里切换到目标文件夹,输入这条命令:

for f in *.ts; do ffmpeg -i "$f" -c copy "${f%.ts}.mp4"; done
  • ${f%.ts}是移除文件名末尾的.ts后缀,完美生成同名MP4
  • 同样,要是需要转码,把-c copy换成-c:v libx264 -c:a aac就行

额外小技巧:递归处理子文件夹

如果你连子文件夹里的TS文件也要一起转:

  • Linux/macOS:
    find . -name "*.ts" -exec sh -c 'ffmpeg -i "$0" -c copy "${0%.ts}.mp4"' {} \;
    
  • Windows CMD:
    for /r %f in (*.ts) do ffmpeg -i "%f" -c copy "%~nf.mp4"
    
  • Windows PowerShell:
    Get-ChildItem -Recurse -Filter *.ts | ForEach-Object { ffmpeg -i $_.FullName -c copy "$($_.DirectoryName)\$($_.BaseName).mp4" }
    

注意哦:确保FFmpeg已经添加到系统环境变量里,不然你得把命令里的ffmpeg换成你安装路径下的完整可执行文件路径(比如C:\ffmpeg\bin\ffmpeg.exe)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:33:09