Skip to main content

Miavisc is a video → slide converter

Project description

Miavisc is a Video → Slide Converter

Screenshot

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

miavisc-1.1.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

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

Hashes for miavisc-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc0319b437e9dc7236a15ccc44302fed74e1545cce17e7bdae0c36d90e01ee7e
MD5 6e2f9bee2f92de6c5c45e5891937e82f
BLAKE2b-256 c514f670c53e95c899a887f1657046a82bd25fa94b1fec2981c63a8ed0f45043

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page