• Stars
    star
    142
  • Rank 258,495 (Top 6 %)
  • Language
    Python
  • License
    Creative Commons ...
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎞️ Cross-platform command-line WebM converter

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.

More Repositories

1

ffmpeg.js

Port of FFmpeg with Emscripten
JavaScript
3,299
star
2

go-face

πŸ” Face recognition with Go
Go
1,114
star
3

avif.js

:shipit: AVIF polyfill for the browser
JavaScript
681
star
4

webm.js

JavaScript WebM converter
JavaScript
456
star
5

boram

🎞️ Cross-platform graphical WebM converter
JavaScript
441
star
6

mpv.js

πŸŽ₯ mpv pepper plugin
C++
407
star
7

vmsg

🎡 Library for creating voice messages
JavaScript
348
star
8

go-avif

🎨 Go AVIF library
Go
323
star
9

gulp-ng-annotate

πŸ“Œ Add angularjs dependency injection annotations with ng-annotate
JavaScript
266
star
10

chaptcha

Break 2ch CAPTCHA using OpenCV and FANN
Python
87
star
11

mpv_slicing

Cut video fragments with mpv
Lua
82
star
12

wybm

βœ‚οΈ Extract and cut youtube webms
JavaScript
58
star
13

dav1d.js

βš—οΈ WebAssembly AV1 decoder
C
34
star
14

tistore

πŸ“· Tistory photo grabber
JavaScript
24
star
15

kagome

Application cage
Shell
19
star
16

mpv_frame_info

Show frame info with mpv
Lua
18
star
17

video-tools

Various video tools
Jupyter Notebook
16
star
18

go-face-testdata

πŸ—ƒοΈ Test data for go-face
15
star
19

github-social-graph

Build simple social graphs for GitHub
Python
15
star
20

kisa

XMPP stress tool
Python
14
star
21

docker_cve-2015-2925

Docker + CVE-2015-2925 = escaping from --volume
11
star
22

wasm-polyfill.js

🍴 Fork of rfk's project
JavaScript
11
star
23

bnw-meow

Kawaii single-page web interface for BnW
CoffeeScript
10
star
24

nacl_sdk

🍴 Fork of Native Client SDK
Python
10
star
25

av1-bench

🏎️ AV1 encoders benchmarks
Python
9
star
26

dotfiles

Dotfiles the easy way
Vim Script
7
star
27

jade-pages-brunch

Adds Jade static pages support to brunch
CoffeeScript
7
star
28

kpopnet

[MOVED]
Go
7
star
29

SVT-AV1

🍴 Welcome to the GitHub repo for the SVT-AV1 encoder! To see a list of feature request and view what is planned for the SVT-AV1 encoder, visit our Trello page: bit.ly/SVT-AV1 Help us grow the community by subscribing to our SVT-AV1 mailing list! http://bit.ly/svt-av1-mailing
C
7
star
30

ng-annotate-uglify-js-brunch

Adds ng-annotate AND UglifyJS support to brunch
JavaScript
5
star
31

jade-ngtemplates-brunch

Adds Jade AngularJS templates support to brunch
CoffeeScript
4
star
32

awesome-cloud-cli

A curated list of useful CLI tools for cloud hostings
JavaScript
4
star
33

ninnin

🎞️ mpv-based video encoding tool
TypeScript
4
star
34

hangeul.js

πŸ‡°πŸ‡· Hangeul transliteration library
JavaScript
3
star
35

cirno

(OBSOLETE) Dumb XMPP library, the successor of the XMPP lib
Haskell
3
star
36

dogfood

πŸ”© Basic blocks of operating system
C
3
star
37

webmify

Allow to watch WebMs in Edge
JavaScript
3
star
38

web-bench

Benchmarks for various web platforms
Perl
3
star
39

parcel-plugin-disable-loaders

πŸ“¦ Allow to disable parcel loaders
JavaScript
3
star
40

shitsu

Tiny and flexible XMPP bot framework
Python
3
star
41

jqw

JQ compiled to WebAssembly
TypeScript
2
star
42

skip-loader

A loader that returns an empty string module
JavaScript
2
star
43

lame-svn

Git mirror
C
2
star
44

gulp-recipes

Tiny gulp recipes
1
star