mlength
gets the length of media files and caches the result
Installation
Requires python3.10+
To install with pip, run:
pip install git+https://github.com/purarue/mlength
This requires either ffprobe (from ffmpeg) or mediainfo to be installed.
Usage
Usage: mlength [OPTIONS] MEDIA...
Compute the duration of media files
This caches the duration of media files in a cache directory, so that
subsequent runs are faster. If media files are modified, the cache is recomputed
MEDIA is a list of media files to compute the duration of
Options:
--cache-dir PATH Cache directory [default: ~/.cache/mlength]
--lib [mediainfo|ffprobe] Library to use for parsing media files [env
var: MLENGTH_LIB; default: ffprobe]
--cache / --no-cache Enable/disable caching [default: cache]
-o, --operation [sum|max|min|avg]
Operation to perform on the durations
-d, --display [ms|s|m|human|path|all]
Display format for durations
--debug Enable debug mode
--help Show this message and exit.
$ mlength sound.mpeg
00:00:02.95
$ mlength -d all sound.mpeg
2951|2.95|0.05|00:00:02.95|sound.mpeg
I use this in lots of small scripts:
Get the shortest media file in a directory, with the list-movies script:
list-music -X mlength -o sum(find length of an album in current directory)list-movies -X mlength -d path -o min(find shortest movie in current directory)list-movies -X mlength -d all | sort -n(sort results by length)
If the media file is modified, the cache is recomputed.
Tests
git clone 'https://github.com/purarue/mlength'
cd ./mlength
pip install '.[testing]'
flake8 ./mlength
mypy ./mlength
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mlength-0.1.0.tar.gz
(5.9 kB
view details)
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 mlength-0.1.0.tar.gz.
File metadata
- Download URL: mlength-0.1.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24fa0982f99538d20b4858cc90fcbeeb803928d9901406f545d88d20155ff953
|
|
| MD5 |
319ce0dd77b34b114920170a9d077811
|
|
| BLAKE2b-256 |
84f463f560f970eef889a3f61c8ecf9cc3935bb891eb92c55ae2353e2583095f
|
File details
Details for the file mlength-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mlength-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3a2b475984e75def1f818a56e6e5ac23a14e3363987a903c506dc4aa48c648
|
|
| MD5 |
d5bc1e0f8fecef3aeac90eba0c64c352
|
|
| BLAKE2b-256 |
3dde537959b7ddaada850c1b0ab5d47b490850d1edb03b22dc1724efce7f0e54
|