今天分享一下如何寫一個批處理,使用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文件,就可以實現批量壓縮視頻分辨率了。