diff --git a/bin/tc b/bin/tc index 1014d2d..bf013eb 100755 --- a/bin/tc +++ b/bin/tc @@ -1,11 +1,39 @@ #!/bin/sh -mkdir -p output -for file in *.MP4; do +for dir in ./*; do + cd "$dir" + mkdir -p output + for file in *.*; do + STRIPPED_NAME=${file%.*} + # CPU - ffmpeg -i "$file" -c:a copy -c:v hevc -crf 20 "output/$file" + + 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" + #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 -b:v 10M -minrate 5M -maxrate 15M "output/$file" + #ffmpeg -i "$file" \ + #-c:a copy -c:v hevc_nvenc -preset p7 -rc vbr -maxrate 1M output/"$file".mkv + done + cd .. done