如何使用批处理文件调用ffmpeg实现视频水平翻转
批处理调用FFmpeg实现视频水平翻转的方法
完全可以通过批处理文件调用FFmpeg实现视频水平翻转,你写的代码逻辑基本正确,只有一个参数配置错误会导致翻转不生效。
现有代码错误点:调用
-vf hflip视频滤镜的同时使用了-c:v copy参数,流复制模式下FFmpeg会跳过所有视频帧处理步骤,滤镜不会生效,必须移除该参数改为重新编码视频。
修正后的单文件处理代码
@echo off :: 处理单个1.mp4,水平翻转视频+替换为audio1.mp3音频,输出到指定目录 ffmpeg -i "1.mp4" -vf hflip -i "audio1.mp3" -map 0:v -map 1:a -c:v libx264 -crf 18 -shortest "C:\Users\Admin\Desktop\Replaced Mp3\1.mp4" pause
批量处理版本(适配当前目录所有MP4文件)
@echo off :: 输出目录不存在则自动创建 if not exist "C:\Users\Admin\Desktop\Replaced Mp3\" md "C:\Users\Admin\Desktop\Replaced Mp3\" :: 遍历当前目录所有mp4文件,逐个水平翻转+替换同文件名的mp3音频 for %%f in (*.mp4) do ( ffmpeg -i "%%f" -vf hflip -i "%%~nf.mp3" -map 0:v -map 1:a -c:v libx264 -crf 18 -shortest "C:\Users\Admin\Desktop\Replaced Mp3\%%~nf.mp4" ) pause
注意事项
- 运行前请确保FFmpeg已添加到系统环境变量,否则需要把代码里的
ffmpeg替换为你本地FFmpeg的完整路径,例如"D:\tools\ffmpeg\bin\ffmpeg.exe" - 若不需要替换音频,仅需做水平翻转,可删除音频相关参数,简化命令为:
ffmpeg -i "输入视频.mp4" -vf hflip -c:v libx264 -crf 18 "输出视频.mp4" -crf 18是x264编码的画质控制参数,数值越低画质越好、文件体积越大,可根据需求在16-28之间调整
内容的提问来源于stack exchange,提问作者Mena
相关产品推荐
相关产品推荐

