Metadata-Version: 2.4
Name: fmex
Version: 0.1.0
Summary: Terminal-based frame extractor for video files.
Keywords: frame extraction,video processing,terminal application
Author: Ryota Murai
Author-email: Ryota Murai <opensource@rmurai.com>
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Dist: av>=16.0.0
Requires-Dist: diskcache>=5.6.3
Requires-Dist: pillow>=12.1.1
Requires-Dist: textual>=7.5.0
Requires-Dist: textual-image>=0.8.5
Requires-Dist: typer>=0.23.1
Requires-Python: >=3.11
Project-URL: Homepage, https://github.com/rmuraix/fmex
Project-URL: Documentation, https://github.com/rmuraix/fmex#readme
Project-URL: Repository, https://github.com/rmuraix/fmex.git
Project-URL: Issues, https://github.com/rmuraix/fmex/issues
Project-URL: Changelog, https://github.com/rmuraix/fmex/releases
Description-Content-Type: text/markdown

# fmex

[![PyPI - Version](https://img.shields.io/pypi/v/fmex)](https://pypi.org/project/fmex/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fmex)](https://pypi.org/project/fmex/)
[![GitHub License](https://img.shields.io/github/license/rmuraix/fmex)](https://github.com/rmuraix/fmex/blob/main/LICENSE)
[![Check](https://github.com/rmuraix/fmex/actions/workflows/check.yaml/badge.svg)](https://github.com/rmuraix/fmex/actions/workflows/check.yaml)
[![codecov](https://codecov.io/gh/rmuraix/fmex/graph/badge.svg?token=z6XwE8PkrK)](https://codecov.io/gh/rmuraix/fmex)

Terminal-based frame extractor for video files.

## About

`fmex` opens a local video, lets you move frame-by-frame in a TUI, previews the selected frame, and saves the current frame as PNG.

![fmex](https://github.com/rmuraix/fmex/raw/main/assets/ui.png)

## Usage

```bash
# Save to current directory
uvx fmex /path/to/video.mp4

# Save to custom output directory (auto-created if missing)
uvx fmex /path/to/video.mp4 --outdir ./exports
```

Keyboard controls:

- `Left` / `h`: Prev
- `Right` / `l`: Next
- `Shift` + `Left`/`Right`: ±10
- `Ctrl` + `Left`/`Right`: ±100
- `j`: Jump to time (seconds)
- `s`: Save PNG
- `q`: Quit

## Contributing

Your contribution is always welcome. Please read [Contributing Guide](https://github.com/rmuraix/.github/blob/main/.github/CONTRIBUTING.md).
