FFmpeg切割为每5分钟一段的bat
时间: 2024-09-20 16:16:40 浏览: 68
ffmpeg 裁剪、切割视频
FFmpeg是一个强大的跨平台命令行工具,用于处理音频、视频和流媒体数据。如果你想要使用FFmpeg将一个大视频文件切割成每5分钟一段的小片段,可以按照以下步骤创建一个批处理脚本(bat文件):
```bash
@echo off
setlocal enabledelayedexpansion
set "input_video=your_input_video.mp4" <!-- 输入视频的路径 -->
set "output_prefix=output_%%Y_%%m_%%d_%time:~0,2%_%time:~3,2%_%time:~6,2%" <!-- 输出文件名前缀 -->
for /f "tokens=1-4 delims=/ " %%a in ('date /T') do (
set "datestamp=%%a%%b%%c"
)
ffmpeg -i "!input_video!" -vf "select='between(t,0,%time_duration%)',format=negate,setpts=N/FRAME_RATE/TB" -t 300 -vframes 1 "%output_prefix%.%%04d.png" > nul
ffmpeg -i "!input_video!" -vf "select='between(t,%time_duration%,end)',format=negate,setpts=N/FRAME_RATE/TB" -t 300 -vframes 1 "!output_prefix!.png"
rem 将每帧图片合并为mp4
ffmpeg -framerate 1 -i "%output_prefix%.%%04d.png" -c:v libx264 -crf 23 -pix_fmt yuv420p "%output_prefix%.mp4"
del *.png <!-- 删除临时生成的图片文件 -->
goto end_of_batch
:end_of_batch
echo Done.
pause
```
在这个脚本中:
1. 替换`input_video=your_input_video.mp4`为你的输入视频文件路径。
2. `-time_duration` 需要计算5分钟的秒数(这里是300秒),可以根据需要调整。
3. `output_prefix` 设置了输出文件的命名前缀,会包含日期和时间。
4. 脚本首先将视频分割成5分钟的帧,然后合并回mp4。
阅读全文