Metadata-Version: 2.4
Name: mpegtic
Version: 0.1.1
Summary: Friendly FFmpeg wrapper CLI for Linux and macOS
Project-URL: Homepage, https://github.com/lucidsleeping/mpegtic
Project-URL: Documentation, https://github.com/lucidsleeping/mpegtic#readme
Project-URL: Repository, https://github.com/lucidsleeping/mpegtic
Project-URL: Issues, https://github.com/lucidsleeping/mpegtic/issues
Author: mpegtic contributors
License-Expression: MIT
License-File: LICENSE
Keywords: audio,cli,ffmpeg,ffprobe,remux,subtitles,video
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Multimedia :: Video
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: platformdirs>=4.0
Requires-Dist: rich>=13.0
Requires-Dist: tomli>=2.0; python_version < '3.11'
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# mpegtic

Friendly FFmpeg wrapper CLI for Linux and macOS.

Requires system [FFmpeg](https://ffmpeg.org/) (`ffmpeg` + `ffprobe` on your `PATH`).

## Install

### Homebrew (macOS / Linuxbrew)

```bash
brew install lucidsleeping/mpegtic/mpegtic
```

This installs `mpegtic` and pulls in `ffmpeg` automatically.

Upgrade later with:

```bash
brew update
brew upgrade mpegtic
```

### pip / pipx / uv

```bash
pip install mpegtic
# or
pipx install mpegtic
# or
uv tool install mpegtic
```

With pip/pipx/uv you still need system FFmpeg on your `PATH`
(`brew install ffmpeg`, or your distro package).

### Pin a version (pip)

```bash
pip install mpegtic==0.1.1
```

## Quick start

```bash
mpegtic info video.mkv
mpegtic remux video.mp4 -o video.mkv
mpegtic convert song.wav -f mp3
mpegtic streams remove video.mkv --subs all -o clean.mkv
mpegtic subtitle burn video.mkv --track 0
mpegtic compress video.mp4 --crf 28
mpegtic gif clip.mp4 --start 5 --duration 3
```

Dry-run any command:

```bash
mpegtic --dry-run --explain remux in.mp4 -o out.mkv
```

Raw FFmpeg escape hatch:

```bash
mpegtic -- -i in.mp4 -c copy out.mkv
mpegtic ffmpeg -- -i in.mp4 -vf scale=1280:-1 out.mp4
```

## Defaults & profiles

```bash
mpegtic config init
mpegtic config show
mpegtic config set crf 20
mpegtic --profile web convert video.mov -f mp4
```

Config lives at `~/.config/mpegtic/config.toml` (via platformdirs).

## Commands

| Area | Commands |
|------|----------|
| Inspect | `info` |
| Containers | `remux`, `convert`, `streams keep\|remove\|default` |
| Subtitles | `subtitle burn\|extract\|add\|convert` |
| Audio | `audio extract\|replace\|volume\|normalize` |
| Video | `trim`, `merge`, `split`, `resize`, `crop`, `rotate`, `speed`, `fps`, `compress`, `thumbnail`, `watermark`, `fade` |
| GIF | `gif` |
| Config | `config init\|show\|set\|path` |
| Escape | `mpegtic -- …`, `mpegtic ffmpeg -- …` |

## Development

```bash
pip install -e ".[dev]"
pytest
```

## Release checklist

1. Bump `version` in `pyproject.toml` and `src/mpegtic/__init__.py`
2. `python -m build` and test `pip install dist/*.whl`
3. Tag `vX.Y.Z` (GitHub Actions publishes to PyPI)
4. Update `Formula/mpegtic.rb` URL + sha256 from the PyPI sdist
5. Push formula to the Homebrew tap

## Notes

Hard-burning (`subtitle burn`) needs an FFmpeg build with **libass**
(`subtitles` filter). Soft mux/extract/remove work without it.

## License

MIT
