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.
Metadata
Release files for video-proxy-magic 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| video_proxy_magic-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / video_proxy_magic-0.1.0-py3-none-any.whl
| Download URL | video_proxy_magic-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b0f3b5af83396e857c0f293be7c769b9ea091acbe3b6a4d4d99755ecceaf48f
|
|
BLAKE2b-256 checksum How to use checksums |
9eb5217cd9d42fabfe547041d1cf54b8cec47d6a0251bfb2fc68c45219aeec1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Security for video-proxy-magic 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.