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.2.2.tar.gz (26.1 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.2.2-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ytvideo2pdf-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9973b8d38c1c52d9a81e8b08eb28f80d2dd9eae4a1ae9a2e729b23aec74efaa7
MD5 9373f18c69e0022cc5b59419ed4645af
BLAKE2b-256 a79a01eb496a0835030d6bf5f4923fe12155a02f374b45505bd26691627bbbe0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ytvideo2pdf-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 38.8 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5591e5b1f9155e7a1c2d4468927f19f3effea07f5ceb845d0e0311bcf89344ec
MD5 6dcbb50165b0df476268c52c7bb0068a
BLAKE2b-256 9a40854b7fafa18278699143e0c08df29cf65063e34b13558676f059e72cc370

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