如何使用.bat文件或其他自动化方式实现自定义ffmpeg视频加速命令
视频倍速处理自定义命令实现方案
以下方案全部基于你给出的ffmpeg 1.25倍速(视频setpts=0.8、音频atempo=1.25)参数编写,可直接使用。
方案1:拖放自动处理的bat批处理
无需手动输入命令,直接把视频拖到bat文件上即可自动完成加速:
- 新建文本文档,将以下代码复制进去,保存后把文件后缀改为
.bat(比如命名为视频加速.bat)
@echo off chcp 65001 >nul if "%~1"=="" ( echo 请将需要加速的MP4文件拖放到本bat文件图标上运行 pause exit /b ) set "input_file=%~1" set "output_file=%~dpn1_1.25x.mp4" ffmpeg -i "%input_file%" -filter_complex "[0:v]setpts=0.8*PTS[v];[0:a]atempo=1.25[a]" -map "[v]" -map "[a]" "%output_file%" echo 处理完成,输出文件:%output_file% pause
- 使用方法:直接把待处理的mp4文件拖到这个bat文件的图标上,松开鼠标就会自动执行处理,处理完的视频会存在原视频同目录,文件名自动加
_1.25x后缀。
方案2:CMD全局自定义命令
CMD原生不支持speed_up(video.mp4, newvid.mp4)这类带括号、逗号的类Python函数语法,但可以实现完全等价的传参调用,使用体验一致,配置一次后全局可用:
- 新建文本文档,复制以下代码,保存为
speed_up.bat
@echo off chcp 65001 >nul if "%~2"=="" ( echo 调用格式:speed_up 原视频路径 输出视频路径 echo 示例:speed_up myvideo.mp4 myvideo_fast.mp4 exit /b ) ffmpeg -i "%~1" -filter_complex "[0:v]setpts=0.8*PTS[v];[0:a]atempo=1.25[a]" -map "[v]" -map "[a]" "%~2" echo 处理完成
- 在电脑上新建一个固定存放自定义命令的文件夹,比如
C:\CustomCommands,把刚才的speed_up.bat放进去 - 打开系统环境变量设置,在「系统变量」的
Path条目里新增刚才的文件夹路径C:\CustomCommands,保存后重启CMD窗口 - 之后在任意目录打开CMD,都可以直接用
speed_up 原视频.mp4 输出视频.mp4的格式调用,不需要输入长串ffmpeg参数。
前置说明:所有方案需要先确保ffmpeg已经加入系统环境变量,即在CMD里输入
ffmpeg -version能正常返回版本信息。如果没有配置环境变量,把上述代码里的ffmpeg替换为本地ffmpeg.exe的完整绝对路径即可,比如"D:\tools\ffmpeg\bin\ffmpeg.exe"。
内容的提问来源于stack exchange,提问作者Bigman
相关产品推荐
相关产品推荐

