Skip to main content

media-thumbnailer

media-thumbnailer is a CLI tool that produces a grid of thumbnails for a media file in a similar manner to a contact print.

Demo of a thumbnail grid image

Prerequisites

media-thumbnailer requires FFmpeg and FFprobe to be installed and available on your system so that it can handle a wide array of multimedia content. It's available via standard package managers on Linux (e.g. apt or pacman) or macOS (e.g. brew), and on Windows it is available via Chocolatey and winget. If the above options do not work, or you need support for a different platform, you can check for available FFmpeg builds on their website.

Installation

To install from PyPI:

pip install -U media-thumbnailer

To install for development and testing purposes, either install directly via git:

pip install -U "media-thumbnailer @ git+https://github.com/gotloaf/media-thumbnailer@main"

Or, clone the repository and install in editable mode:

git clone https://github.com/gotloaf/media-thumbnailer.git
cd media-thumbnailer
pip install -U -e .

Usage

You can use the utility like so:

media_thumbnailer video.mp4 --output grid.png

There are more arguments available:

--output

Location of the file to output to, as PNG. You can pass - to have the image sent to stdout instead.

--include-info/--exclude-info

Whether to include the media summary text at the top or not. Defaults to including it.

--include-head/--exclude-head

Whether to include the first frame of the video in the grid. Defaults to including it.

--include-tail/--exclude-tail

Whether to include the last frame of the video in the grid. Defaults to excluding it.

--column-count

How many columns to include in the grid. The number of thumbnails is calculated automatically based on the row and column count.

--row-count

How many rows to include in the grid. The number of thumbnails is calculated automatically based on the row and column count.

--padding

Padding in pixels around the video frames and summary text.

--font-size

Font size in pixels to use for the summary and timestamp text.

Acknowledgements

To guarantee consistent font rendering, media-thumbnailer includes a copy of Iosevka Extended Extrabold, which is licensed under the OFL (SIL Open Font License).

Metadata

Release files for media-thumbnailer 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for media-thumbnailer 1.0.1
File Size Uploaded
media_thumbnailer-1.0.1.tar.gz 229.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for media-thumbnailer 1.0.1
File Interpreter ABI Platform
media_thumbnailer-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 458.4 kB

Release files / media_thumbnailer-1.0.1.tar.gz

Download URL media_thumbnailer-1.0.1.tar.gz
Size 229.0 kB
Tags Source
SHA-256 checksum
How to use checksums
eb7f8eb1d727292bf259f0d6c8a6135e77887419f7a1b7f1ad3a8f38624c6ef5
BLAKE2b-256 checksum
How to use checksums
6c448cb3c2adb35ccab258c1d0184b3dff9e5ae6fd24ab7ea5c09075dee5c723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2025.

Transparency log

Release files / media_thumbnailer-1.0.1-py3-none-any.whl

Download URL media_thumbnailer-1.0.1-py3-none-any.whl
Size 229.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b972b76d91df6b9a8e12c91a43945d824f02d10bef3974a8df03578bfc6d145e
BLAKE2b-256 checksum
How to use checksums
f26ec0ac28ed113eca4592ed846aa8641ba1448e941ca05fcb56df36dc526c56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 21, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page