Skip to main content

Cross-platform command-line WebM converter

Project description

webm.py PyPI version Build Status

Cross-platform command-line WebM converter.

Features

  • No Python dependencies, single source file
  • Supports encoding to VP8, VP9 and AV1, with Opus or Vorbis
  • 2-pass encoding, user-friendly defaults, flexible set of options
  • Provides graphical interactive mode to cut/crop input video with mpv
  • Can burn subtitles, fit to limit, use external audio track and many more

Requirements

  • Python 2.7+ or 3.2+
  • FFmpeg 2+ compiled with libvpx and libopus
  • mpv 0.17+ compiled with Lua support, for interactive mode only

Make sure to set Add to PATH option in Python for Windows installer.

FFmpeg and mpv executables must be in PATH or set their location with WEBM_FFMPEG and WEBM_MPV environment variables.

Installation

pip install webm

Or just save https://raw.githubusercontent.com/Kagami/webm.py/master/webm.py and put in your PATH.

Windows, Python 2 and non-ASCII filenames

Unicode filenames won't work on Windows with Python 2 due to Python bugs. Use Python 3 if you can but if not an option set PYTHONIOENCODING environment variable to utf-8 and run:

pip install subprocessww

Usage

Show help:

webm -h

Examples:

# VP9 with default quality
webm -i in.mkv

# Fit to 10 megabytes
webm -i in.mkv -l 10

# Set 1000kbps video bitrate
webm -i in.mkv -vb 1000

# Change quality
webm -i in.mkv -crf 20

# Encode to AV1
webm -i in.mkv -av1

# Encode to VP8 & Vorbis
webm -i in.mkv -vp8

Interactive mode

Pass -p flag to interactively select cut frargment and crop area with mpv. Show help for interactive mode:

webm -hi

Related links

webm.py wiki contains some encoding tricks and links to documentation on WebM/VPx.

License

webm.py is licensed under CC0.

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

webm-0.12.1.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

webm-0.12.1-py2.py3-none-any.whl (20.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file webm-0.12.1.tar.gz.

File metadata

  • Download URL: webm-0.12.1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.7.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.6.6

File hashes

Hashes for webm-0.12.1.tar.gz
Algorithm Hash digest
SHA256 72673601608981bede50afc13252f09d22681affff77711ed448bf847c431478
MD5 088f69baec4578653a43b0869bffa82a
BLAKE2b-256 36c0212cd62c2373a757b02614c4a9cd3c2b6a02851f9de02ca1b1cce4096182

See more details on using hashes here.

File details

Details for the file webm-0.12.1-py2.py3-none-any.whl.

File metadata

  • Download URL: webm-0.12.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.7.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/3.6.6

File hashes

Hashes for webm-0.12.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 105e347c669a119c9d5f7e68078c5bdc4105928630a01da968851a81af881963
MD5 3fe5b4b61aff06495502b2ba094f3b76
BLAKE2b-256 efbde40ea9011461276fc7613c71d8402084595bb1895135e7c3fd079da2481a

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