I have a project to make in C# or in Matlab, that has an interface, where you can select a video and then perform a temporal segmentation of the video in smaller clips by detecting transitions.
Then by choosing an image from each of the smaller clips, it generates a hash based on local and global characteristics (color histogram, texture, etc.) or the hash is generated based on the inclusion of motion characteristics (camera motion analysis, character movement).
This hash, generated for each small video, is saved into a multimedia database.
After this, in the interface, I am able to select a small video, I generate the hash, and I compare it to what I have stored in my database, and if I find a hash that is somehow similar, then I have a succesfull match.
I attached a picture with a scheme.
If someone is interested, and has any questions, I am here to answer.