Metadata-Version: 2.1
Name: purewebm
Version: 0.0.1
Summary: Utility to encode quick webms using Unix sockets to queue the encoding parameters whenever it is executed
Project-URL: Homepage, https://github.com/4ndrs/PureWebM
Project-URL: Bug Tracker, https://github.com/4ndrs/PureWebM/issues
Author-email: 4ndrs <andres.degozaru@gmail.com>
License: MIT License
        
        Copyright (c) 2022 4ndrs <andres.degozaru@gmail.com>
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# PureWebM

Originally written for [PureMPV](https://github.com/4ndrs/PureMPV), with this utility it is possible to encode webms from a given input, according to a restricted file size or a default CRF (Constant Rate Factor). If the utility is called whilst encoding, additional webm parameters will be put in a queue using a Unix socket for IPC.

## Usage

It is possible to request usage instructions through the ```--help``` or ```-h``` argument option flags when the program is installed:
```bash
$ purewebm --help
usage: purewebm [-h] [--version] [--output OUTPUT] [--encoder ENCODER] [--start_time START_TIME]
                [--stop_time STOP_TIME] [--lavfi LAVFI] [--size_limit SIZE_LIMIT] [--crf CRF]
                [--extra_params EXTRA_PARAMS]
                input [input ...]

Utility to encode quick webms with ffmpeg

positional arguments:
  input                 the input file(s) to encode (NOTE: these are only for a single output file; to encode different
                        files run this program multiple times, the files will be queued in the main process using a
                        Unix socket)

options:
  -h, --help            show this help message and exit
  --version, -v         show program's version number and exit
  --output OUTPUT, -o OUTPUT
                        the output file, if not set, the filename will be generated using the filename of the input
                        file plus a short MD5 hash and saved in $HOME/Videos/PureWebM
  --encoder ENCODER, -e ENCODER
                        the encoder to use (default is libvpx-vp9)
  --start_time START_TIME, -ss START_TIME
                        the start time offset (same as ffmpeg's -ss)
  --stop_time STOP_TIME, -to STOP_TIME
                        the stop time (same as ffmpeg's -to)
  --lavfi LAVFI, -lavfi LAVFI
                        the set of filters to pass to ffmpeg
  --size_limit SIZE_LIMIT, -sl SIZE_LIMIT
                        the size limit of the output file in megabytes, use 0 for no limit (default is 3)
  --crf CRF, -crf CRF   the crf to use (default is 24)
  --extra_params EXTRA_PARAMS, -ep EXTRA_PARAMS
                        the extra parameters to pass to ffmpeg, these will be appended making it possible to override
                        some defaults

```

## Installation

It can be installed using pip:
```bash
$ pip install purewebm
```
or
```bash
$ git clone https://github.com/4ndrs/PureWebM.git
$ cd PureWebM
$ pip install .
```
