Add VT helper scripts for 4K/1440p 60fps and smoothing

This commit is contained in:
Stu Leak 2025-12-09 00:57:48 -05:00
parent 4089105b08
commit 9245caeb4c
8 changed files with 208 additions and 0 deletions

View File

@ -0,0 +1,30 @@
@echo off
setlocal
REM VideoTools helper: AV1 4K @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
REM Usage: convert-av1-4k60-vt.bat "input.ext" "output.mkv"
if "%~1"=="" (
echo Usage: %~nx0 "input.ext" "output.mkv"
exit /b 1
)
set INPUT=%~1
set OUTPUT=%~2
if "%OUTPUT%"=="" (
set OUTPUT=%~dpn1-av1-4k60.mkv
)
ffmpeg -y -hide_banner -loglevel error ^
-i "%INPUT%" ^
-map 0 ^
-vf "scale=-2:2160,fps=60" ^
-c:v libaom-av1 -b:v 5200k -cpu-used 4 -row-mt 1 -pix_fmt yuv420p ^
-c:a copy -c:s copy -c:d copy ^
"%OUTPUT%"
if %ERRORLEVEL% equ 0 (
echo Done: "%OUTPUT%"
) else (
echo Encode failed. Check above ffmpeg output.
)
endlocal

View File

@ -0,0 +1,30 @@
@echo off
setlocal
REM VideoTools helper: HEVC 1440p @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
REM Usage: convert-hevc-1440p60-vt.bat "input.ext" "output.mkv"
if "%~1"=="" (
echo Usage: %~nx0 "input.ext" "output.mkv"
exit /b 1
)
set INPUT=%~1
set OUTPUT=%~2
if "%OUTPUT%"=="" (
set OUTPUT=%~dpn1-hevc-1440p60.mkv
)
ffmpeg -y -hide_banner -loglevel error ^
-i "%INPUT%" ^
-map 0 ^
-vf "scale=-2:1440,fps=60" ^
-c:v libx265 -preset slow -b:v 4000k -pix_fmt yuv420p ^
-c:a copy -c:s copy -c:d copy ^
"%OUTPUT%"
if %ERRORLEVEL% equ 0 (
echo Done: "%OUTPUT%"
) else (
echo Encode failed. Check above ffmpeg output.
)
endlocal

View File

@ -0,0 +1,30 @@
@echo off
setlocal
REM VideoTools helper: HEVC 4K @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
REM Usage: convert-hevc-4k60-vt.bat "input.ext" "output.mkv"
if "%~1"=="" (
echo Usage: %~nx0 "input.ext" "output.mkv"
exit /b 1
)
set INPUT=%~1
set OUTPUT=%~2
if "%OUTPUT%"=="" (
set OUTPUT=%~dpn1-hevc-4k60.mkv
)
ffmpeg -y -hide_banner -loglevel error ^
-i "%INPUT%" ^
-map 0 ^
-vf "scale=-2:2160,fps=60" ^
-c:v libx265 -preset slow -b:v 6000k -pix_fmt yuv420p ^
-c:a copy -c:s copy -c:d copy ^
"%OUTPUT%"
if %ERRORLEVEL% equ 0 (
echo Done: "%OUTPUT%"
) else (
echo Encode failed. Check above ffmpeg output.
)
endlocal

View File

@ -0,0 +1,30 @@
@echo off
setlocal
REM VideoTools helper: Motion smoothing to 60fps using minterpolate; keeps audio/subs/metadata
REM Usage: smooth-60fps-vt.bat "input.ext" "output.mkv"
if "%~1"=="" (
echo Usage: %~nx0 "input.ext" "output.mkv"
exit /b 1
)
set INPUT=%~1
set OUTPUT=%~2
if "%OUTPUT%"=="" (
set OUTPUT=%~dpn1-smooth60.mkv
)
ffmpeg -y -hide_banner -loglevel error ^
-i "%INPUT%" ^
-map 0 ^
-vf "minterpolate=fps=60" ^
-c:v libx265 -preset slow -b:v 3000k -pix_fmt yuv420p ^
-c:a copy -c:s copy -c:d copy ^
"%OUTPUT%"
if %ERRORLEVEL% equ 0 (
echo Done: "%OUTPUT%"
) else (
echo Encode failed. Check above ffmpeg output.
)
endlocal

22
scripts/convert-av1-4k60-vt.sh Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# VideoTools helper: AV1 4K @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
# Usage: ./convert-av1-4k60-vt.sh "input.ext" ["output.mkv"]
set -e
if [ -z "$1" ]; then
echo "Usage: $0 input.ext [output.mkv]"
exit 1
fi
in="$1"
out="${2:-${1%.*}-av1-4k60.mkv}"
ffmpeg -y -hide_banner -loglevel error \
-i "$in" \
-map 0 \
-vf "scale=-2:2160,fps=60" \
-c:v libaom-av1 -b:v 5200k -cpu-used 4 -row-mt 1 -pix_fmt yuv420p \
-c:a copy -c:s copy -c:d copy \
"$out"
echo "Done: $out"

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# VideoTools helper: HEVC 1440p @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
# Usage: ./convert-hevc-1440p60-vt.sh "input.ext" ["output.mkv"]
set -e
if [ -z "$1" ]; then
echo "Usage: $0 input.ext [output.mkv]"
exit 1
fi
in="$1"
out="${2:-${1%.*}-hevc-1440p60.mkv}"
ffmpeg -y -hide_banner -loglevel error \
-i "$in" \
-map 0 \
-vf "scale=-2:1440,fps=60" \
-c:v libx265 -preset slow -b:v 4000k -pix_fmt yuv420p \
-c:a copy -c:s copy -c:d copy \
"$out"
echo "Done: $out"

22
scripts/convert-hevc-4k60-vt.sh Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# VideoTools helper: HEVC 4K @60fps upscale (balanced bitrate, keeps audio/subs/metadata)
# Usage: ./convert-hevc-4k60-vt.sh "input.ext" ["output.mkv"]
set -e
if [ -z "$1" ]; then
echo "Usage: $0 input.ext [output.mkv]"
exit 1
fi
in="$1"
out="${2:-${1%.*}-hevc-4k60.mkv}"
ffmpeg -y -hide_banner -loglevel error \
-i "$in" \
-map 0 \
-vf "scale=-2:2160,fps=60" \
-c:v libx265 -preset slow -b:v 6000k -pix_fmt yuv420p \
-c:a copy -c:s copy -c:d copy \
"$out"
echo "Done: $out"

22
scripts/smooth-60fps-vt.sh Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# VideoTools helper: Motion smoothing to 60fps using minterpolate; keeps audio/subs/metadata
# Usage: ./smooth-60fps-vt.sh "input.ext" ["output.mkv"]
set -e
if [ -z "$1" ]; then
echo "Usage: $0 input.ext [output.mkv]"
exit 1
fi
in="$1"
out="${2:-${1%.*}-smooth60.mkv}"
ffmpeg -y -hide_banner -loglevel error \
-i "$in" \
-map 0 \
-vf "minterpolate=fps=60" \
-c:v libx265 -preset slow -b:v 3000k -pix_fmt yuv420p \
-c:a copy -c:s copy -c:d copy \
"$out"
echo "Done: $out"