windows 批处理ffmpeg批量压缩视频分辨率

今天分享一下如何写一个批处理,使用ffmpeg批量压缩视频分辨。

先看批处理:
echo current dir:%~dp0
rem 批量压缩分辨率
set w=1920
set h=1080
set ex="webm"
mkdir "%~dp0%w%_%h%"
for %%a in ("%~dp0*.%ex%") do ffmpeg -threads 8 -i "%%a" -vf scale=%w%:%h% "%~dp0%w%_%h%\%%~na.%ex%"
pause

下面一行一行解释:

1. %~dp0是获取当前目录,echo是输出,echo current dir:%~dp0,控制台输出:current dir:xx/xx;
2. rem是注释;
3. set 是给变量赋值,set w=1920,声明变量w,并且给w赋值为1920;
4. set h=1080,赋值变量h为1080;
5. set ex="webm",赋值变量ex为webm;
6. mkdir是创建目录,%w%是使用变量w,此时w是1920,h是1080,mkdir "%~dp0%w%_%h%" 是在当前目录创建一个名为1920_1080的文件夹,用于存放转换后的视频文件;
7. for %%a in("%~dp0.%ex%") do for是循环,%%a是循环变量,in("%~dp0.%ex%")是需要循环遍历的集合,此时ex为webm,*表示所有,这里是对当前目录下所有的.wemb文件进行循环
#使用ffmpeg 压缩分辨率,输出到刚刚创建的文件夹下
ffmpeg -threads 8 -i "%%a" -vf scale=%w%:%h% "%~dp0%w%_%h%\%%~na.%ex%"

最后记得把ffmpeg路径配置到环境变量中。

好了,小伙伴可以copy上面的代码,保存到一个.bat文件中,复制到视频目录,执行.bat文件,就可以实现批量压缩视频分辨率了。

你可能感兴趣的:(windows 批处理ffmpeg批量压缩视频分辨率)