Skip to main content

Convert YouTube educational video to crisp PDF notes

Project description

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

  1. Install OCR engine (required for text detection)

    • Windows: install Tesseract OCR and make sure tesseract is on PATH.
    • macOS: brew install tesseract
    • Debian/Ubuntu: sudo apt-get install tesseract-ocr
  2. Install the package

pip install ytvideo2pdf
  1. 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 (for youtube input)
  • --dir: local directory path (for local or pickle input)
  • --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, or auto
  • --timestamps: comma-separated seconds (for timestamps extraction)
  • --threshold: integer threshold for rate_change_threshold
  • --cache-frames/--no-cache-frames
  • --skip-plot/--no-skip-plot
  • --cleanup/--no-cleanup

For Python API usage, see LIBRARY.md.

Project details


Download files

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

Source Distribution

ytvideo2pdf-0.4.3.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

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

ytvideo2pdf-0.4.3-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

Details for the file ytvideo2pdf-0.4.3.tar.gz.

File metadata

  • Download URL: ytvideo2pdf-0.4.3.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for ytvideo2pdf-0.4.3.tar.gz
Algorithm Hash digest
SHA256 3343118b982f0f8a51a5e928c4dc1f8bf3e9aa2865ed91efc828978dc3d784dd
MD5 58667f38caa01e380d7b1fd7d0a911e6
BLAKE2b-256 3b45fbf9040b10d3cdfb6506ed96dfe95a3690cb277f397be8c8e4f81d9bcae0

See more details on using hashes here.

File details

Details for the file ytvideo2pdf-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: ytvideo2pdf-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 42.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for ytvideo2pdf-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 88388aaed3b17f5c5f7fae982b55a5cb93a806ffa2a17d0efdc1d36159326231
MD5 52e9937799af114625d2451de1b5929f
BLAKE2b-256 7808c684f4754bfee135020f038685cb638aa908fbfd0303735e6c0a7246e4bc

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