Samples the video at sample_fps on a 160 px wide grey image, splits it into runs...
https://ton.halowerk.com/v1/slides-from-videoOverview
Samples the video at sample_fps on a 160 px wide grey image, splits it into runs without change (share of pixels changing by more than 24 grey levels at most change_threshold, against the previous sample and the run start) and keeps runs lasting at least min_stable_s. The last frame of each run represents the slide; runs whose frames match an earlier slide (64-bit DCT perceptual hash within 8 bits and pixel change within the threshold) are merged as repeated appearances.