Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- SETLOCAL ENABLEEXTENSIONS
- COLOR 0A
- :----------------------------------------------------------------------------------
- REM Created by: SlyFox1186
- REM https://pastebin.com/u/slyfox1186
- REM IT IS [ HIGHLY RECOMMENDED ] TO RUN THIS IN A TEST FOLDER >>
- REM BEFORE USING ON YOUR PERSONAL LIBRARY
- REM THIS SCRIPT WILL USE [ FFmpeg.exe ] TO RECURSIVELY SEARCH >>
- REM FOR A SINGLE MP4 FILE WITH SYNTAX [ <Name>.mp4 ] AND CONVERT IT TO HEVC x265
- REM IT WILL SKIP OVER ANY FILENAME WITH SYNTAX [ <Name>(x265).mp4 ]
- REM INFILE WILL [ NOT ] BE AFFECTED
- REM OUTFILE [ WILL ] BE AFFECTED [ <Name>(x265).mp4 ]
- REM IT WILL STORE THE FULL COMMAND IN TEMP FILE [ convert.bat ] >>
- REM UNCOMMENT [ DEL COMMAND ] ON LINES 50-54 TO AUTO-DELETE TEMP FILE
- REM USING [ -a:c aac ] CAUSES ERROR MESSAGES TO FLOOD CMD WINDOW , USE [ a:c copy ] INSTEAD
- REM THIS SCRIPT [ DOES ] PASS FILE PATHS THAT HAVE AN "!" IN THEM
- REM CHANGE VARIABLES INSIDE [ < > SYMBOLS ] AS NEEDED BELOW, DO NOT INCLUDE [ < > SYMBOLS ]
- :----------------------------------------------------------------------------------
- REM SET FFMPEG PATH AND OPTIONS
- SET FF=<"ffmpeg.exe FULL PATH">
- SET mp4Path=<WORKING DIRECTORY FOR MP4 FILE>
- SET VIDEO=<libx265>
- SET AUDIO=<copy>
- SET PRESET=<medium>
- SET CRF=<18>
- PUSHD "%mp4Path%"
- :----------------------------------------------------------------------------------
- REM CREATE EMPTY CONVERT FILE
- COPY NUL "convert.bat" >NUL 2>&1
- REM ADD ECHO OFF
- ECHO @ECHO OFF >>"convert.bat"
- FOR /R %%G IN (*.mp4) DO (
- SET "fname=%%~dpnG"
- SETLOCAL ENABLEDELAYEDEXPANSION
- :----------------------------------------------------------------------------------
- REM IF NOT [ <Name>(x265).mp4 ] THEN PROCEED
- IF "!fname!"=="!fname:*(x265)=!" (
- CALL :RunFFmpeg fname
- REM THE TEMP FILE "convert.bat" CAN GET STUCK ON SEQUENTIAL RUNS SO RENAME AND DELETE IT AS A WORK AROUND
- REM IF EXIST "convert.bat" (
- REM MOVE "convert.bat" "convert1.bat" >NUL 2>&1
- REM DEL /Q "convert1.bat" >NUL 2>&1
- REM )
- GOTO END
- REM ADD LINE BREAK SPACE
- ECHO( >>"convert.bat"
- ) ELSE ENDLOCAL && GOTO ERROR
- )
- :RunFFmpeg
- REM SKIP IF THE PARAMETER IS EMPTY
- IF "%~1"=="" GOTO END
- )
- :----------------------------------------------------------------------------------
- REM CONVERT VIDEO WITH FFMPEG
- TITLE FFMPEG H.265: ^>^> "!%1!.mp4"
- ECHO %FF% -hide_banner -y -i "!%1!.mp4" ^
- -c:v %VIDEO% -preset %PRESET% -crf %CRF% -c:a %AUDIO% -threads 0 "!%~1!(x265).mp4">>"convert.bat" ^
- && %FF% | %FF% -hide_banner -y -i "!%1!.mp4" ^
- -c:v %VIDEO% -preset %PRESET% -crf %CRF% -c:a %AUDIO% -threads 0 "!%~1!(x265).mp4"
- EXIT /B
- :----------------------------------------------------------------------------------
- :ERROR
- ECHO=
- ECHO THE INPUT FILE FOUND "(x265)" IN THE NAME & ECHO=
- ECHO OR WAS NOT FOUND AT ALL & ECHO=
- PAUSE
- GOTO :EOF
- :----------------------------------------------------------------------------------
- :END
- ECHO.
- ECHO FFMPEG FINISHED & ECHO=
- PAUSE
- EXIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement