Skip to content

ashleyyli/SceneExtractor-2025

 
 

Repository files navigation

SceneExtractor-2022 - A tool to extract images from a mp4 file of a video lecture.

Authors and Maintainers:

Acknowledgement & Citation

Please acknowledge this git repository https://github.com/classtranscribe/scene-extractor and the ASEE2022 paper (in submission) if you find this project useful.

Based on

The original similarity metric and frame sampling code is from ClassTranscribe, https://github.com/classtranscribe/WebAPI/blob/1274d4ee7599ba5943d95929eb6a97f5f9a23454/PythonRpcServer/scenedetector.py

Example use

Run SceneExtractor on a single file

python main.py example.mp4

Run SceneExtractor for all files in a folder

python main.py foldername

Set it up locally

srry 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

Annotations test use

After running

python main.py example.mp4

there 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 97.9%
  • Dockerfile 2.1%