An open API service indexing awesome lists of open source software.

https://github.com/fabquenneville/mediacurator

MediaCurator is a Python command line tool to manage and batch convert a media database to modern codecs like HEVC (x265).
https://github.com/fabquenneville/mediacurator

av1 codecs filters hevc media-database python-command video x265

Last synced: 16 days ago
JSON representation

MediaCurator is a Python command line tool to manage and batch convert a media database to modern codecs like HEVC (x265).

Awesome Lists containing this project

README

        

# mediacurator

mediacurator is a Python command line tool to manage a media database.

- List all the videos and their information with or without filters
- Batch find and repair/convert videos with encoding errors
- Batch recode videos to more modern codecs (x265 / AV1) based on filters: extensions, codecs, resolutions …

## Documentation

The documentation is available on the following [link](https://fabquenneville.github.io/mediacurator/)

## Releases

mediacurator can be installed via the following methods:

- APT repository for Debian/Ubuntu systems
- PyPi using pip

For detailed installation instructions, please visit the following links:

- [Installation Instructions](https://fabquenneville.github.io/mediacurator/usage/installation.html)
- [APT Repository](https://debrepo.fabq.ca/)
- [PyPi Page](https://pypi.org/project/mediacurator/)

## Usage

```bash
mediacurator [options]

# Command options
mediacurator [list convert] [-del/--delete]
[-i/--inputs any 3gp asf avi divx dv f4v flv gif m2ts m4v mkv mov mp4 mpeg mpg mts ogm ogv rm swf ts vid vob webm wmv]
[-fl/--filters fferror old lowres hd 720p 1080p uhd mpeg mpeg4 x264 wmv3 wmv]
[-o/--outputs mkv/mp4 x265/av1]
[-p/--printop list formatted verbose]
[-d/--dirs "/mnt/media/" "/mnt/media2/"]
[-f/--files "file1.ext" "file2.ext"]
```

**Available commands:**

- `list`: List all videos with specified filters.
- `convert`: Convert videos to specified formats.

**Options:**

- `-del` or `--delete`: Delete found results after successful operations. **Use with caution**.
- `-i ` or `--inputs `: Specify input file formats (default: `any`).
- `-fl ` or `--filters `: Apply filters to the selection of videos.
- `-o ` or `--outputs `: Specify output formats (default: `mkv`, `x265`).
- `-p ` or `--printop `: Set print options (default: `list`).
- `-f ` or `--files `: Specify files to process.
- `-d ` or `--dirs `: Specify directories to process.

**For multiple files or filenames, use space-separated values ( ).**

**Default options (if not specified):**

- `-i/--inputs`: `any`
- `-fl/--filters`: (none)
- `-o/--outputs`: `mkv`, `x265`
- `-p/--printop`: `list`

### Examples

```bash
# List all videos with old codecs in formatted output
mediacurator list --filters old --printop formatted --dirs "/mnt/media/" "/mnt/media2/" >> ../medlist.txt

# Convert all MPEG4 videos to AV1 in MP4 format, and delete originals after conversion
mediacurator convert --delete --filters mpeg4 --outputs av1 mp4 --dirs "/mnt/media/" "/mnt/media2/"

# Convert videos with AVI or MPG extensions, print formatted and verbose output, and delete originals
mediacurator convert --delete --inputs avi mpg --printop formatted verbose --dirs "/mnt/media/" "/mnt/media2/"
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)