skip to navigation
skip to content

webm 0.10.0

Encode WebM videos

Yet another bikeshed to encode WebM videos from CLI.


  • Encodes input video to WebM container with VP9 and Opus
  • Uses 2-pass encoding, has optional VP8/Vorbis and album art modes
  • Fits output file to the size limit by default
  • Allows to select video/audio streams and external audio track
  • Can burn subtitles into the video
  • Flexible set of options and ability to pass raw flags to FFmpeg
  • Interactive mode to cut/crop input video with mpv


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


Just save

Optionally put it somewhere in your PATH:

[sudo] wget -O /usr/local/bin/webm
[sudo] chmod +x /usr/local/bin/webm

Or with pip:

[sudo] pip install webm


NOTE: Windows users may want to add Python executable to the PATH. See for details. Otherwise just type the full path to your python.exe location instead of python.

Use webm instead of python if you installed it with pip.

Show help:

python -h


# Fit video to default limit
python -i in.mkv

# Fit video to 6 MiB
python -i in.mkv -l 6

# Set video bitrate to 600k
python -i in.mkv -vb 600

# Constrained quality
python -i in.mkv -crf 20

# Constant quality
python -i in.mkv -crf 20 -vb 0

# Encode with VP8 & Vorbis
python -i in.mkv -vp8

# Make album art video
python -cover -i pic.png -aa song.flac

Interactive mode

Pass -p flag to interactively select cut frargment/crop area with mpv. Demo:

Show help on interactive mode:

python -hi

Breaking changes policy

Versions from 0.y.0 (inclusively) till 0.y+1.0 (exclusively) keep backward compatibility of options and settings.

Versions from x.0.0 (inclusively) till x+1.0.0 (exclusively) keep backward compatibility of options and settings where x > 0.

Raising the minimal required version of dependency is not considered as breaking change. Adding new required dependency is breaking change.

License - encode WebM videos

Written in 2015-2016 by Kagami Hiiragi

To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.

You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see

File Type Py Version Uploaded on Size
webm-0.10.0.tar.gz (md5) Source 2016-10-24 17KB