A set of tools (a.k.a. "framework") to create a video-annotated source code.
- Applicable to any language / format.
- No need to modify the editor.
- Accuracy not 100%.
- Cannot track what's not typed (e.g. moved, pasted)
- Matching takes O(n^2).
- Obtain a source code, key logging and video.
- Run
matcher.py key.log sourcecode.txt > keylog.map
- Run
trimvideo.sh stream.mp4 images/
- Run
getface.py -K api_key images/*.jpg > faces.txt
- Run
viewer.py -s stream.mp4 -f faces.txt keylog.map sourcecode.txt > viewer.html
- Vist a file.
- M-x
kiirogaa-start-logging
- M-x
kiirogaa-stop-logging
- Resides on SysTray.
- Requires Windows SDK to build.
nmake
make
sudo kiirogaa output.log
Discovers mappings between a key log and source code.
Usage:
$ matcher.py [-d] [-t title] [-m maxdist] [-s minsocre]
[-n maxiters] [-x maxcluters] key.log [file ...] > out.map
Label a sequence of jpeg images with face data.
Usage:
$ getface.py -K api_key images/*.jpg > faces.txt
cf. https://azure.microsoft.com/en-us/services/cognitive-services/emotion/
Makes a sequence of shrinked jpegs from a video.
Usage:
$ trimvideo.sh input.mp4 output/ [trimsize] [videosize]
Compares a estimated mapping with a true mapping (for debugging).
Usage:
$ evalprec.py reference.txt output.txt
Generates a final video player w/ source code in HTML.
Usage:
$ viewer.py [-s stream.mp4] [-f faces.txt] out.map [file ...]