Creates a grid of thumbnails for a media file.
Project description
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.
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).
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
File details
Details for the file media_thumbnailer-1.0.1.tar.gz
.
File metadata
- Download URL: media_thumbnailer-1.0.1.tar.gz
- Upload date:
- Size: 229.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
eb7f8eb1d727292bf259f0d6c8a6135e77887419f7a1b7f1ad3a8f38624c6ef5
|
|
MD5 |
1179aaf8d921528bba15bf4986c5b4c6
|
|
BLAKE2b-256 |
6c448cb3c2adb35ccab258c1d0184b3dff9e5ae6fd24ab7ea5c09075dee5c723
|
Provenance
The following attestation bundles were made for media_thumbnailer-1.0.1.tar.gz
:
Publisher:
python-publish.yml
on gotloaf/media-thumbnailer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
media_thumbnailer-1.0.1.tar.gz
-
Subject digest:
eb7f8eb1d727292bf259f0d6c8a6135e77887419f7a1b7f1ad3a8f38624c6ef5
- Sigstore transparency entry: 164258475
- Sigstore integration time:
-
Permalink:
gotloaf/media-thumbnailer@4713e45c620ef9cdc1dd51755beed9bc0a7ebcfb
-
Branch / Tag:
refs/tags/v1.0.1
- Owner: https://github.com/gotloaf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
python-publish.yml@4713e45c620ef9cdc1dd51755beed9bc0a7ebcfb
-
Trigger Event:
release
-
Statement type:
File details
Details for the file media_thumbnailer-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: media_thumbnailer-1.0.1-py3-none-any.whl
- Upload date:
- Size: 229.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
b972b76d91df6b9a8e12c91a43945d824f02d10bef3974a8df03578bfc6d145e
|
|
MD5 |
5515cd2ea3b3759374da1cd01e5bdcba
|
|
BLAKE2b-256 |
f26ec0ac28ed113eca4592ed846aa8641ba1448e941ca05fcb56df36dc526c56
|
Provenance
The following attestation bundles were made for media_thumbnailer-1.0.1-py3-none-any.whl
:
Publisher:
python-publish.yml
on gotloaf/media-thumbnailer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
media_thumbnailer-1.0.1-py3-none-any.whl
-
Subject digest:
b972b76d91df6b9a8e12c91a43945d824f02d10bef3974a8df03578bfc6d145e
- Sigstore transparency entry: 164258476
- Sigstore integration time:
-
Permalink:
gotloaf/media-thumbnailer@4713e45c620ef9cdc1dd51755beed9bc0a7ebcfb
-
Branch / Tag:
refs/tags/v1.0.1
- Owner: https://github.com/gotloaf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
python-publish.yml@4713e45c620ef9cdc1dd51755beed9bc0a7ebcfb
-
Trigger Event:
release
-
Statement type: