Miavisc is a video → slide converter
Project description
Miavisc is a Video → Slide Converter
Born out of my frustration, this tool will convert video of a lecture to pdf file at a blazzingly fast speed 🚀 (sarcasm intended).
Key features includes:
- Blezzingly fast 🚀 — compare to other similar programs[^3], Miavisc is > 11x faster[^4] while producing comparable result[^5].
- Tunable similarity threshold — so slightly different frame due to mouse movement / lazer pointers are not treated as different page
- Selectable ignored area — only process centre portion area (to ignore camera, etc.)
[^3]: That I have tried (e.g., those in reference section). [^4]: Miavisc at 2:00 min. vs binh234/video2slides at 22:08 min. Tested on Macbook Air M2, 512 GB SSD, 16 GM memory. Tested with 1280x720 @ 30fps, mp4, 1:11 hr lecture using GMG algorithm with no skip frames. [^5]: Overall, results from both programs are very usable without any significant difference (extra or missing slides here and there). Both requires some further manual processing (e.g., delete residual duplications). Note that this evaluation is SUBJECTIVE to the creator of this program and thus should be taken with a grain of salt.
To any professors out there, for the love of capybara and all is that holy in the world, PLEASE PROVIDE PDF OF YOUR LECTURE VIDEO 🔥🔥
Installation
git clone https://github.com/pannxe/miavisc.git
cd miavisc
pip install .
Or download the pre-build version and run pip install miavisc-x.x.x.tar.gz.
Usage
It is recommend that you use --fast --concurrent (shortern to -fc) almost without exception.
# Default
miavisc -fc -i <PATH_TO_VIDEO> -o <PATH_TO_PDF>
If you want to speed thing up even more, add --knn (-k) should not change the final result significantly but you will gain about 2-3x speed !! 🚀
# Extra fast, you see what I did there *wink*.
miavisc -fck -i <PATH_TO_VIDEO> -o <PATH_TO_PDF>
Brenchmark
Tested on Macbook Air M2, 512 GB SSD, 16 GM memory using 1280x720 @ 30fps, mp4, 1:11 hr lecture.
As --check_per_sec goes up, risk of page-loss increases but false triggers also decreases. Sweet spot seem to be around 10.
Using GMG algorithm might give you somewhat better result but KKN is faster especially with large --check_per_sec.
| Options | Exec time | Diff |
|---|---|---|
-f |
6:15 min | Base |
-f --check_per_sec 10 |
2:45 min | -56.3% |
-fk |
2:44 min | -56.3% |
-fk --check_per_sec 10 |
1:29 min | -76.3% |
Here's is what without --fast look like:
| Options | Exec time | Diff |
|---|---|---|
--check_per_sec 10 |
3:23 min | +23.8% |
-k --check_per_sec 10 |
6:28 min | +335.1% |
Update: Now, with --concurrent (or -c) you can speed thing up even more! Here's what -c look like compare to without one
| Options | Exec time | Diff |
|---|---|---|
-fc |
2:00 min | -312% |
-fck |
1:17 min | -213% |
Author
- pannxe — Original author
References
- Kunal Dawn. (2023). Build a Video to Slides Converter Application using the Power of Background Estimation and Frame Differencing in OpenCV. LearnOpenCV. Accessed April 1st, 2025. Link.
- binh234/video2slides — Miavisc is inspired by this program and a lot of references are taken from this work. Any comparison to this program is purely educational and mean no offense to its author.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file miavisc-1.1.1-py3-none-any.whl.
File metadata
- Download URL: miavisc-1.1.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc0319b437e9dc7236a15ccc44302fed74e1545cce17e7bdae0c36d90e01ee7e
|
|
| MD5 |
6e2f9bee2f92de6c5c45e5891937e82f
|
|
| BLAKE2b-256 |
c514f670c53e95c899a887f1657046a82bd25fa94b1fec2981c63a8ed0f45043
|