Neat comparison commands ------------------------ this command will take a input video and transcode it for every crf value in a range crfleveltest.sh ``` #!/bin/bash for i in {0..63} do echo da real time bro $i >> timetime date >> timetime ffmpeg -i originalencoding.mkv -c:a copy -c:v libsvtav1 -preset 8 -crf $i svtav1/crftest/svtav1_$i.mkv #echo \n >> timetime done ``` this will take a specific frame out off all the videos in a folder which is useful for comparing the crf values on a specific frame frameextractor.sh ``` #!/bin/bash output_directory="png" for video in *mkv; do filename=$(basename -- "$video") filename_no_ext="${filename%.*}" ffmpeg -ss 00:00:10 -i "$video" -vframes 1 "$output_directory/$filename_no_ext.png" done ``` this will take all the file names of the pngs and put them into subtitles so you cam see what video (crf value typically) the current frame was from subtitles.py ``` import os # Assuming files are in the current directory. # Modify this path to the location of your PNG files if needed. files = sorted([f for f in os.listdir('.') if f.endswith('.png')]) # Start time for each subtitle in seconds start_time = 0.0 # The duration each subtitle is displayed for in seconds duration = 0.1 with open('subtitles.srt', 'w') as f: for i, filename in enumerate(files, start=1): # Format start and end times start_h = int(start_time // 3600) start_m = int((start_time % 3600) // 60) start_s = int(start_time % 60) start_ms = int(round((start_time % 1) * 1000)) start = "{:02d}:{:02d}:{:02d},{:03d}".format(start_h, start_m, start_s, start_ms) end_time = start_time + duration end_h = int(end_time // 3600) end_m = int((end_time % 3600) // 60) end_s = int(end_time % 60) end_ms = int(round((end_time % 1) * 1000)) end = "{:02d}:{:02d}:{:02d},{:03d}".format(end_h, end_m, end_s, end_ms) # Write subtitle entry f.write(f"{i}\n{start} --> {end}\n{filename}\n\n") # Update start time for next subtitle start_time += duration ``` this will combine all the pngs and subtitles to a video to be watched just make sure the framerates match between this command and rhe ones specified in the subtitle command pngcombiner ``` ffmpeg -framerate 10 -i svtav1_%02d.png -i subtitles.srt -c:v libx264 -crf 10 output.mkv ```