40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
for dir in ./*; do
|
|
cd "$dir"
|
|
mkdir -p output
|
|
for file in *.*; do
|
|
STRIPPED_NAME=${file%.*}
|
|
|
|
# CPU
|
|
|
|
ffmpeg -n -i "$file" \
|
|
-init_hw_device vulkan=vk:0 \
|
|
-c:a copy -c:v libsvtav1 -crf "$CRF" -preset "$PRESET" \
|
|
-svtav1-params "tune=0:lookahead=120:scm=1" \
|
|
output/"$STRIPPED_NAME".mkv
|
|
|
|
# -init_hw_device vulkan=vk:0
|
|
# platform-agnostic hardware accelerated decoding with vulkan
|
|
# only available for h264,h265, and experimentally av1
|
|
|
|
# parameters
|
|
## temporal filtering: averages frames
|
|
# enable-tf=0
|
|
## screen content mode: optimization for screen captures (goated?)
|
|
# scm=1
|
|
|
|
# 10 bit color
|
|
#-pix_fmt yuv420p10le \
|
|
|
|
# VAAPI
|
|
#ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi \
|
|
#-i "$file" -c:a copy -c:v av1_vaapi -crf 20 -b:v 30M "output/$file"
|
|
#ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi \
|
|
#-i "$file" -c:a copy -c:v av1_vaapi -rc_mode VBR -b:v 30M -maxrate 35M "output/$file"
|
|
# NVENC
|
|
#ffmpeg -i "$file" \
|
|
#-c:a copy -c:v hevc_nvenc -preset p7 -rc vbr -maxrate 1M output/"$file".mkv
|
|
done
|
|
cd ..
|
|
done
|