I'm trying to measure how much a movies is "fast" (more action in the screen and quick scene chances). I don't want just a single value for the movie, but values along the movie to see how the action varies during it. After normalize the frame rate of the movies (10 fps), my idea is to compare each frame with the previous. I'm not only interest if the scene has changed, but also, if there was no cut, how much movement there is. Not only people/object movement but also, camera movement. In summary the paced (I think that the term) of the scenes.
My idea was to use the scene
function from ffmpeg as a metric. But looking at the document and examples online I'm thinking I can only use the value of the Scene Change Detection as a threshold to return frames informations, but I can't get ffmpeg to return the value. Is that right? There is any way I can make it return the value?
I found it hard to parse the ffmpeg output, so I created a wrapper in Python:
It will by default extract the scene cuts based on a threshhold, so it'll give you all that are above the parameter:
Will output JSON by default:
You can set
-t 0
to extract everything. Check-h
for more options.Use
The text file created will have output like this: