Skip to main content

transcode video files in batch

Project description

video-proxy-magic

This tool allows you to generate smaller videos from a collection of existing videos, something post-production video people call "proxies". Those are lower-resolution files that are faster to process for editing movies.

Features

  • batch, automated conversion of large collections of video files
  • preserves directory structure
  • adds timecode overlays
  • transcodes files to 720p H264
  • minimalist, no GUI
  • ~300 lines of code, easy to audit

TODO: screenshots

TODO: testimonials

Installation

This program is a [Python][] program which runs exclusively from the command line interface, so it's a bit of an advanced tool. It depends on ffmpeg to do all its work so the first step is to make sure that is installed.

[Python][]: https://en.wikipedia.org/wiki/Python_(programming_language)

In Debian GNU/Linux, for example, that would be:

apt install ffmpeg python3

On Mac or Windows, use the ffmpeg Mac or Windows builds and the Python Mac or Windows installers.

There's probably a way to install those through Homebrew or Chocolatey, but if you know what those are, you probably already know how to use them.

Once you have all those dependencies installed, you need install the actual program. Normally, you should have pip installed, so installing the program should be as simple as:

pip install video-proxy-magic

Usage

The program has a --help flag which has details on the various options. An example run would be:

video-proxy-magic.py FOO/ PROXIES/FOO/

... which would take all the files in FOO/ and transcode them into the PROXIES/FOO/ directory, keeping the directory structure in FOO/. Assuming you have a file in FOO/BAR/baz.MOV, it will create a proxy in PROXIES/FOO/BAR/baz_proxy.mp4.

On Windows, you might have to meddle around with drive letters and other horrors, for example:

py videos/magic/video-proxy-magic.py H:\SOURCE H:\DESTINATION

The program is pretty silent by default, so you will probably want to use -v to make it verbose. You can also run a simulation with -n, and limit the search to specific files. This, for example, will run a simulation of the transcoding with only the MXF, MP4, or MOV files it finds:

py videos/magic/video-proxy-magic.py H:\SOURCE H:\DESTINATION -n -v --include "*.MXF" "*.MP4" "*.MOV"

You can also exclude specific files with the --exclude flag of course, but it's typically easier to tell it what you want than play whack-a-mole with the various garbage you might have lying around.

Originals are, of course, not touched.

Contributing

See the contribution guide for more information. In short: this is a free software project and you are welcome to join us in improving it, both by fixing things, reporting issues or documentation.

Authors and acknowledgment

This tool was written by The Anarcat in 2020. Many thanks to my friend for tests, feedback, and motivation.

I actually don't know much about video editing, post-production, and barely some cinema. I just built this thing because a friend of mine was repeatedly clicking through their video editors to generate files like this, wasting literally days of work for something that could obviously be automated.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Project status

Keep in mind I don't really offer any support for this tool. I only wrote it to save my friend some time, and it's reluctantly that I have created this project to make it more visible. So no warranties.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

video_proxy_magic-0.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file video_proxy_magic-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for video_proxy_magic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b0f3b5af83396e857c0f293be7c769b9ea091acbe3b6a4d4d99755ecceaf48f
MD5 6e0a18647ce04cab9ea5f955baeb67f4
BLAKE2b-256 9eb5217cd9d42fabfe547041d1cf54b8cec47d6a0251bfb2fc68c45219aeec1a

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