FabBits
Videos contain plethora of contextual information. For example, in a movie there are fighting scenes, sentimental scenes, romantic scenes, and many others. In a cricket match, there are wickets, sixes, fours et cetera. With the advent of the data-driven age, amateurs, researchers, and organisations alike require some specific part of this contextual information for their needs; maybe for creating a highlights reel of a sports match or mining data from movies for their machine learning models. This makes parts of certain types of videos very useful. FabBits tries to automate finding them. Following are the things it will be able to detect -
- Action sequences in movies/shows - ✅
- Summary of movies/shows - ✅
- Actor-specific scenes in movies/shows - ✅
- Jokes in sitcoms - ✅
- Slo-mos in Sports - ❌
- Goals in Soccer - ✅
- Goal misses in Soccer - ⭕
- Three pointers in Basketball - ✅
Links
Project repo - github.com/achie27/FabBits Blog posts - medium.com/@achie27 Samples - Drive folder
Requirements
You need the following things to run FabBits-
- Python3
- OpenCV - Used for image and video processing
- Moviepy - Used for video editing and audio processing
- PyQt5 - Used to make the GUI
- Scipy - Used for audio processing
- Tesserocr - Used for, well, OCR
- Pillow - Used to preprocess images for OCR The python dependencies can be installed by running -
or if you are the Anaconda kind -
Usage
Run the main GUI by -
python3 main.py
To find your FabBit of choice -
- Click MOVIES or SPORTS button for their respective use-cases
- Select the use-case from the sidebar
- A pop-up dialog will ask for the actor if actor-specific scene was chosen
- Click on Choose File to select the input video
- Click on Find FabBits
- Move the slider in the blue areas, which are the extracted FabBits, and play the video
- Click on Save FabBits to save the extracted stuff into a video file
You can also run the respective files of use-cases to get their FabBit, like - python3 goal_detector.py soccer_match.mp4
References
All the references can be found listed in the repository's readme.