Glimpsify (ytvideo2pdf)
Glimpsify extracts slide-like frames from educational videos and builds a PDF of the key visuals (diagrams, formulas, charts). It is optimized for lecture-style videos where text appears on screen over time.
Try now (without setup)
Try it out here: https://colab.research.google.com/drive/1xz6uHeY0QAzMTR8DbXJY8BSvNmKhI24Q?usp=sharing
Quick start
-
Install OCR engine (required for text detection)
- Windows: install Tesseract OCR and make sure
tesseractis on PATH. - macOS:
brew install tesseract - Debian/Ubuntu:
sudo apt-get install tesseract-ocr
- Windows: install Tesseract OCR and make sure
-
Install the package
pip install ytvideo2pdf
- Run the CLI
ytvideo2pdf --input=youtube --url="https://youtu.be/Z_MLrbI1s2E"
Common usage
Extract from a local folder (expects a single video file in the directory):
ytvideo2pdf --input=local --dir="C:\path\to\video_dir"
Run with a specific extraction strategy:
ytvideo2pdf --input=youtube --url="https://youtu.be/Z_MLrbI1s2E" --extraction=prominent_peaks
Extract a fixed number of frames:
ytvideo2pdf --input=youtube --url="https://youtu.be/Z_MLrbI1s2E" --k=10
Extract frames at explicit timestamps (seconds):
ytvideo2pdf --input=youtube --url="https://youtu.be/Z_MLrbI1s2E" --extraction=timestamps --timestamps="30, 95.5, 120"
What you get
- A PDF file in
output/with the extracted frames. - A JSON metadata file alongside the PDF (same name,
.json). - Intermediate folders (unless
--no-cleanup) for extracted frames and cached objects.
Key features
- Multiple extraction strategies to pick the most informative frames.
- OCR-based signal processing (Tesseract by default).
- Optional caching of processed frames for reuse.
- Optional plots of the OCR signal (for debugging and tuning).
CLI options (summary)
--input:youtube | local | pickle--url: YouTube video or playlist URL (foryoutubeinput)--dir: local directory path (forlocalorpickleinput)--ocr:tesseract | easy_ocr | paddleocr--ocr_approval:phash | pixel_comparison | approve_all | reject_all--extraction:prominent_peaks | k_transactions | key_moments | timestamps | rate_change_threshold--k: number of frames to extract, orauto--timestamps: comma-separated seconds (fortimestampsextraction)--threshold: integer threshold forrate_change_threshold--cache-frames/--no-cache-frames--skip-plot/--no-skip-plot--cleanup/--no-cleanup
For Python API usage, see LIBRARY.md.
Metadata
Release files for ytvideo2pdf 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ytvideo2pdf-0.4.5.tar.gz | 29.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ytvideo2pdf-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.0 kB
Release files / ytvideo2pdf-0.4.5.tar.gz
| Download URL | ytvideo2pdf-0.4.5.tar.gz |
|---|---|
| Size | 29.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be54e5dc60c3c54fce98cdd270df0b21f16934f25b21f7e104e6efcea258e93a
|
|
BLAKE2b-256 checksum How to use checksums |
8a2d9181159abc2233ec7efc89e2f3348c00c69df2fe8ee6cdc59b96ccd848df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.2
|
Release files / ytvideo2pdf-0.4.5-py3-none-any.whl
| Download URL | ytvideo2pdf-0.4.5-py3-none-any.whl |
|---|---|
| Size | 42.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e13daf2b9c6f8832383e14faddd7f8307b3c873fb46f7aafdeddc7bfcf067c36
|
|
BLAKE2b-256 checksum How to use checksums |
5e466fbec16f6c7e8d29965c1a1f41615f5808a72b4055fa6cdcd37dd3be8df5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.2
|