High-performance CLI tool to generate dynamic slideshow videos and reverse-extract clean slide images.
Project description
SmugglerJPG
Store your photos (galleries) on youtube or any other video hosting or messenger (rutube / telegram / max) for free! (You can use "unlisted"/"private" visibility or even drafts to keep it private from public)
# create a slideshow (with music!)
smugglerjpg create /path/to/images -o output.mp4 -a /path/to/music_folder -d 4.0
# upload to youtube
# download (use yt-dlp or just studio.youtube.com)
# extract images from video
smugglerjpg extract /tmp/video_from_youtube.webm -o /tmp/extracted
Warning
Vibe-coded for personal purpose. Do not expect much quality from this project. (I do not trust LLM as programmers). But it works for me.
Installation
Method 1: Installing via pipx (Recommended for CLI)
You can install the CLI tool globally and safely in an isolated environment directly from the Git repository:
pipx install git+https://github.com/yaroslaff/smugglerjpg.git
Method 2: Installing from source
Clone the repository and install it in editable mode:
git clone https://github.com/yaroslaff/smugglerjpg.git
cd smugglerjpg
pip install -e .
Note: Video encoding and audio muxing require FFmpeg (including
ffprobe) installed on your system.
CLI Usage
The smugglerjpg command becomes globally accessible after installation.
1. Create a Slideshow (create)
Generate a slideshow video from a directory of images and overlay background music:
smugglerjpg create /path/to/images -o output.mp4 -a /path/to/music_folder -d 4.0
Add -v to inspect the exact ffmpeg commands used:
smugglerjpg create -v /path/to/images -o output.mp4 -d 4.0
2. Extract Slides Back from Video (extract)
Extract original slides cleanly from any slideshow video:
smugglerjpg extract output.mp4 -o /path/to/extracted_images
The extractor auto-detects slide duration by analyzing frame differences, then grabs the center frame of each segment. If OpenCV cannot decode the video (e.g. AV1 codec), it falls back to ffmpeg automatically. Use -v to see the ffmpeg/ffprobe commands.
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 Distribution
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 smugglerjpg-1.0.2.tar.gz.
File metadata
- Download URL: smugglerjpg-1.0.2.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.13.5 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acb557c4499533ebe42881517d8c077add3a661acc82a72d42dea5967793af6c
|
|
| MD5 |
2fee79733ad6c727dc26b92335c43012
|
|
| BLAKE2b-256 |
8fc479de1f091992b4c92b135ba7599e69f1b3b9966ba92de762c05fe1a12b71
|
File details
Details for the file smugglerjpg-1.0.2-py3-none-any.whl.
File metadata
- Download URL: smugglerjpg-1.0.2-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.16.5 cpython/3.13.5 HTTPX/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33c519df437a04d253184aea3cebd7ca322440d996c7a6e857c22add70f9c966
|
|
| MD5 |
095eeb594104fad18bb4e9c0adf0eb3a
|
|
| BLAKE2b-256 |
64a7581b93e1687c4af9169ac86fe9fffc43ce00238df06591bd149c816672b2
|