前言
最近下载视频的网站对视频做了分片,无奈只能分别下载再考虑合并。由于下载视频文件单个分片为mp4格式,所以采用ffmpeg将mp4转ts再合并,经过一通操作,得出结论:建议直接用现成软件。
脚本
:: 声明utf8编码
chcp 65001
@echo off
:: location 待合并文件夹路径(使用\分隔文件夹)
set location=%1
set location=%location:/=\%
setlocal enabledelayedexpansion
set tasks=
for %%f in (%location%\*.mp4) do (
set t=%%f
set ts=!t:.mp4=.ts!
ffmpeg -i %%f -vcodec copy -acodec copy -vbsf h264_mp4toannexb !ts!
if "!tasks!"=="" (
set tasks=!ts!
) else (
set tasks=!tasks!^|!ts!
)
)
ffmpeg -i "concat:%tasks%" -acodec copy -vcodec copy -absf aac_adtstoasc %location%\output.mp4
del %location%\*.ts
pause
使用
- 将脚本内容复制进mp4concat.bat文件中
./mp4concat.bat {to_concat_dir}
to_concat_dir替换为实际需要合并视频的文件夹路径