Skip to main content

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


Download files

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

Source Distribution

smugglerjpg-1.0.2.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

smugglerjpg-1.0.2-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

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

Hashes for smugglerjpg-1.0.2.tar.gz
Algorithm Hash digest
SHA256 acb557c4499533ebe42881517d8c077add3a661acc82a72d42dea5967793af6c
MD5 2fee79733ad6c727dc26b92335c43012
BLAKE2b-256 8fc479de1f091992b4c92b135ba7599e69f1b3b9966ba92de762c05fe1a12b71

See more details on using hashes here.

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

Hashes for smugglerjpg-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 33c519df437a04d253184aea3cebd7ca322440d996c7a6e857c22add70f9c966
MD5 095eeb594104fad18bb4e9c0adf0eb3a
BLAKE2b-256 64a7581b93e1687c4af9169ac86fe9fffc43ce00238df06591bd149c816672b2

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