Authors and Maintainers:
- Jiaxi Li jiaxili3@illinois.edu
- Zhong, Ivan ninghan2@illinois.edu
- Lawrence Angrave angrave@illinois.edu
Please acknowledge this git repository https://github.com/classtranscribe/scene-extractor and the ASEE2022 paper (in submission) if you find this project useful.
The original similarity metric and frame sampling code is from ClassTranscribe, https://github.com/classtranscribe/WebAPI/blob/1274d4ee7599ba5943d95929eb6a97f5f9a23454/PythonRpcServer/scenedetector.py
Run SceneExtractor on a single file
python main.py example.mp4Run SceneExtractor for all files in a folder
python main.py foldernamesrry this might be windows unfriendly but 100% works get python working immediately with no headaches :D
Make sure you have Docker running first
docker build --tag scene-extractor .
docker run --detach scene-extractor
Vscode -> reopen in new dev container
Create python virtual environment
Make python environment
python -m venv .venv
Activate environment
source .venv/bin/activate
If it says permission denied
chmod +x .venv/bin/activate
Install python dependencies
pip install -r requirements.txt
After running
python main.py example.mp4there should be a folder titled frames_phaseflann with the selected frames after filtering scrolling and all other processes (annotation filtering comes last).
masked frames go into folder titled masked, then frames are subtracted and the amount of pixels shared are compared, if it is under a certain threshold the frames are denoted 'different' and get put into subtracted folder.
Corresponding frames are put into whatever directory specified in scenedetector.py as DATA_DIR_NAME