Skip to main content

videolab

A CLI for video processing.

Installation

You can install videolab from source.

  1. Clone the repository:

    git clone https://github.com/kianmeng/videolab.git
    cd videolab
    
  2. Create a virtual environment and install the package:

    uv venv
    source .venv/bin/activate
    uv pip install -e .
    

Usage

Once installed, you can use the videolab command.

To see the help message:

videolab --help
usage: videolab [-h] [-V] [-v] {env,scrub,watermark} ...

A console program to manipulate videos.

website: https://github.com/kianmeng/videolab
changelog: https://github.com/kianmeng/videolab/blob/master/CHANGELOG.md
issues: https://github.com/kianmeng/videolab/issues

positional arguments:
  {env,scrub,watermark}
                        sub-command help
    env                 show environment information
    scrub               remove all metadata
    watermark           add a watermark to a video.

options:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -v, --verbose         enable verbose logging

videolab env

videolab env -h
usage: videolab env [-h]

options:
  -h, --help  show this help message and exit

videolab scrub

videolab scrub -h
usage: videolab scrub [-h] [--no-audio] [--force] [--dry-run]
                      input_file [output_file]

Removes all container-level and stream-level metadata from a video file by
remuxing it

positional arguments:
  input_file   Path to the input video file
  output_file  Path to save the scrubbed video file, defaults:
               '<input_file>_scrubbed.<ext>'

options:
  -h, --help   show this help message and exit
  --no-audio   Remove the audio from the video file
  --force      Overwrite the output file if it already exists
  --dry-run    Show what would be done without writing any output

videolab watermark

videolab watermark -h
usage: videolab watermark [-h] --text TEXT [--font-size FONT_SIZE]
                          [--font-color FONT_COLOR]
                          [--position {top-left,top-right,bottom-left,bottom-right,center}]
                          [--margin MARGIN] [--no-audio] [--cpu CPU]
                          [--force] [--dry-run] input_file [output_file]

Adds a watermark to a video file.

positional arguments:
  input_file            Path to the input video file
  output_file           Path to save the watermarked video file, defaults:
                        '<input_file>_watermarked.<ext>'

options:
  -h, --help            show this help message and exit
  --text TEXT           The text for the watermark
  --font-size FONT_SIZE
                        Font size for the watermark text. Defaults to 5% of
                        video height.
  --font-color FONT_COLOR
                        Font color in RGBA format (e.g., '255,255,255,128').
  --position {top-left,top-right,bottom-left,bottom-right,center}
                        Position of the watermark.
  --margin MARGIN       Margin from the edges of the video in pixels.
  --no-audio            Remove the audio from the video file
  --cpu CPU             Number of CPU cores for parallel processing (default:
                        min(all available, 4))
  --force               Overwrite the output file if it already exists
  --dry-run             Show what would be done without writing any output

Contributing

Contributions are welcome! Please see the Contributing file for details on how to set up your development environment and submit pull requests.

License

This project is licensed under the GNU Affero General Public License v3.0 or later. See the License file for details.

Download files

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

Source Distribution

videolab-0.10.1.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

videolab-0.10.1-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file videolab-0.10.1.tar.gz.

File metadata

  • Download URL: videolab-0.10.1.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for videolab-0.10.1.tar.gz
Algorithm Hash digest
SHA256 2909dccc282018b61319c1a0565cdf626ef3db945b6fdc20716cd4951bfa4ea6
MD5 a53daff64b3b9c9346400d3ba155c818
BLAKE2b-256 7290ad20c4f0c364fde9555a13826aab0c3295cf5f7c742ab0f79b22c03bc812

See more details on using hashes here.

File details

Details for the file videolab-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: videolab-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for videolab-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5cee328aa9f49904a9a0130ec8230ab4176f1481630ed2365f98820f7786b8c
MD5 abd87d4ae19619a71e01390308576e10
BLAKE2b-256 d4adcaf16fbda2a6799fbf09431469e5e657e3594bedf6579091559b974deba8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.10.2

2 files

This release

0.10.1 This release

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.8

2 files

0.7.7

2 files

0.7.6

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.11

2 files

0.6.10

2 files

0.6.9

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.17

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page