#!/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