Note: This is very hacky and a work in progress
This is modified from Jason Brownlee's tutorial: https://machinelearningmastery.com/how-to-develop-a-face-recognition-system-using-facenet-in-keras-and-an-svm-classifier/
This code takes a movie file and goes scene by scene and counts the number of scenes with each person from a trained model. It checks how many CPU cores your machine has and runs parrellel processes for each core. It also skips over some number of frames (currently set to 15) to save time.
You need facenet_keras.h5 in your directory. Find it in the tutorial linked above.
First, make sure you create a trained model using a folder with subfolders for each person saved as a pickle file (currently set to svc_model.sav) and encoder classes (currently set to classes.npy).
Make sure to change {video/location.mp4} to your video location.
Check out how I used this to try to predict who gets eliminated in Top Chef: https://www.ifoundanifty.com/2021/04/can-you-predict-the-winner-of-top-chef-based-on-screentime/