|
樓主 |
發表於 2024-11-11 17:48:41
|
顯示全部樓層
如果想批量處理, 可以把所有影片放在一個folder, 然後做個bat來執行,
參考video_compress.bat 代碼
- @Echo off
- REM 設定來源和輸出目錄
- if "%1"=="" (
- set "inputDir=%cd%"
- set "outputDir=%cd%_compressed"
- ) else (
- set "inputDir=%1"
- set "outputDir=%1_compressed"
- )
- REM 設置臨時英文目錄為 C:\HandBrakeTemp
- set "tempDir=C:\HandBrakeTemp"
- set "tempOutputDir=C:\HandBrakeTemp\output"
- if not exist "%tempDir%" mkdir "%tempDir%"
- if not exist "%tempOutputDir%" mkdir "%tempOutputDir%"
- if not exist "%outputDir%" mkdir "%outputDir%"
- REM 檢查來源目錄是否存在
- if not exist "%inputDir%" (
- echo The specified input directory does not exist: %inputDir%
- exit /b
- )
- REM 迴圈處理每個 MP4 文件
- for %%f in ("%inputDir%\*.mp4") do (
- REM 將文件複製到臨時目錄
- copy "%%f" "%tempDir%\%%~nf.mp4" >nul
- REM 壓縮臨時文件並存到臨時輸出目錄
- echo Processing: %%f -> %tempOutputDir%\%%~nf.mp4
- call HandBrakeCLI -i "%tempDir%\%%~nf.mp4" -o "%tempOutputDir%\%%~nf.mp4" -e x264 -q 28 -B 64 -r 24 --optimize -w 360 -l 640
- REM 移動壓縮完成的文件到最終輸出目錄
- move "%tempOutputDir%\%%~nf.mp4" "%outputDir%\%%~nf.mp4"
- REM 刪除臨時輸入文件
- del "%tempOutputDir%\%%~nf.mp4"
- )
- REM 清理臨時目錄
- rmdir /q /s "%tempDir%"
- echo All files processed.
複製代碼 |
|