Skip to main content

batch convert videos

Project description

PyPI Version Github Actions codecov

Enjam

Batch convert video files.

Screenshot

Usage: enjam [OPTIONS]

  Batch convert videos.

Options:
  --src DIRECTORY                 [default: .]
  --dst TEXT                      Output directory path. Can include
                                  variables. Example: ./{vcodec}-{crf}
                                  [default: (src)]
  --exclude-dstdir                Do not pick source files from dstdir, if it
                                  is located inside srcdir   [default: True]
  --jobs INTEGER                  [default: 4]
  --acodec TEXT                   [default: copy]
  --vcodec [libaom-av1|librav1e|libsvtav1|libx264|libx265|copy]
                                  [default: libsvtav1]
  --vbitrate TEXT                 If stars with x, resulting bitrate is a
                                  ratio of input file resolution. Example:
                                  x2.3 or 200k
  --abitrate TEXT                 [default: 38k]
  --crf INTEGER RANGE             Constant rate factor. Or qp for rav1e.
                                  [default: (24, if vbitrate is not set);
                                  0<=x<=63]
  --speed [ultrafast|superfast|veryfast|faster|fast|medium|slow|slower|veryslow|placebo|-2|-1|0|1|2|3|4|5|6|7|8|9|10|11|12|13]
                                  Speed preset. String for x264/x265. Numeric
                                  for av1. Lower is slower.  [default: 7]
  --fprefix TEXT                  Output file prefix. Can include variables.
                                  If fprefix is not provided and dst dir
                                  includes variables, fprefix is set to the
                                  same pattern as dst dir name. Example:
                                  {vcodec}-{crf}-  [default: (f'{dst.name}-'
                                  if '{' in dst else None)]
  --gop INTEGER                   Group of pictures size. The GOP size sets
                                  the maximum distance between key frames.
                                  Higher GOP size results in smaller file
                                  size.   [default: 200]
  --resolution INTEGER            Output resolution height in pixels.
  --grain INTEGER                 [default: 0]
  --svt-variance-boost INTEGER    [default: 0]
  --write-log / --no-write-log    [default: write-log]
  --verbose / --no-verbose        Print more verbose messages.  [default: no-
                                  verbose]
  --loglevel [debug|info|warning|error]
                                  File log level.  [default: debug]
  --skip-errors / --no-skip-errors
                                  Continue processing queue after one file
                                  error  [default: skip-errors]
  --pattern TEXT                  Source file glob search pattern. Example:
                                  'Camera1*.mp4'   [default: *.gif]
  --outformat [mp4|mkv]           Output file format.   [default: mkv]
  --install-completion            Install completion for the current shell.
  --show-completion               Show completion for the current shell, to
                                  copy it or customize the installation.
  --help                          Show this message and exit.

Installation

pipx install enjam

enjam --install-completion

Development

pdm venv create -n 11 3.11
eval $(pdm venv activate 11)

Test

pytest -s --doctest-modules

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enjam-1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

enjam-1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file enjam-1.0.tar.gz.

File metadata

  • Download URL: enjam-1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.1 CPython/3.11.9 Linux/6.10.7-1-default

File hashes

Hashes for enjam-1.0.tar.gz
Algorithm Hash digest
SHA256 93aa889451ab247ba3cf9e80f2a154c54e4a9b3c79ff14129b31d4ae1d0c76da
MD5 741949c6352ca18937b2082a9386e27f
BLAKE2b-256 8b72796909282547dc29878e0d96841296d6096be37f4fe011da241fc64ef169

See more details on using hashes here.

File details

Details for the file enjam-1.0-py3-none-any.whl.

File metadata

  • Download URL: enjam-1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.18.1 CPython/3.11.9 Linux/6.10.7-1-default

File hashes

Hashes for enjam-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c93412d00652e56ecca262e66f0bc67ff8b49c6a2ec7e4f694fd2594045cc2d
MD5 a7fd7958154f882fad6cdf96ad4814fe
BLAKE2b-256 97b1022ce11259b7ad774cbb63dd7af4fbb07d6ff6b9c17bdef87160633630d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page