mirror of
https://github.com/9001/copyparty.git
synced 2025-10-08 09:32:20 -06:00
71 lines
3.5 KiB
Markdown
71 lines
3.5 KiB
Markdown
standalone programs which take an audio file as argument
|
|
|
|
you may want to forget about all this fancy complicated stuff and just use [event hooks](../hooks/) instead (which doesn't need `-e2ts` or ffmpeg)
|
|
|
|
----
|
|
|
|
**NOTE:** these all require `-e2ts` to be functional, meaning you need to do at least one of these: `apt install ffmpeg` or `pip3 install mutagen`
|
|
|
|
some of these rely on libraries which are not MIT-compatible
|
|
|
|
* [audio-bpm.py](./audio-bpm.py) detects the BPM of music using the BeatRoot Vamp Plugin; imports GPL2
|
|
* [audio-key.py](./audio-key.py) detects the melodic key of music using the Mixxx fork of keyfinder; imports GPL3
|
|
|
|
these invoke standalone programs which are GPL or similar, so is legally fine for most purposes:
|
|
|
|
* [media-hash.py](./media-hash.py) generates checksums for audio and video streams; uses FFmpeg (LGPL or GPL)
|
|
* [image-noexif.py](./image-noexif.py) removes exif tags from images; uses exiftool (GPLv1 or artistic-license)
|
|
|
|
these do not have any problematic dependencies at all:
|
|
|
|
* [cksum.py](./cksum.py) computes various checksums
|
|
* [exe.py](./exe.py) grabs metadata from .exe and .dll files (example for retrieving multiple tags with one parser)
|
|
* [wget.py](./wget.py) lets you download files by POSTing URLs to copyparty
|
|
* also available as an [event hook](../hooks/wget.py)
|
|
|
|
|
|
## dangerous plugins
|
|
|
|
plugins in this section should only be used with appropriate precautions:
|
|
|
|
* [very-bad-idea.py](./very-bad-idea.py) combined with [meadup.js](https://github.com/9001/copyparty/blob/hovudstraum/contrib/plugins/meadup.js) converts copyparty into a janky yet extremely flexible chromecast clone
|
|
* also adds a virtual keyboard by @steinuil to the basic-upload tab for comfy couch crowd control
|
|
* anything uploaded through the [android app](https://github.com/9001/party-up) (files or links) are executed on the server, meaning anyone can infect your PC with malware... so protect this with a password and keep it on a LAN!
|
|
* [kamelåså](https://github.com/steinuil/kameloso) is a much better (and MUCH safer) alternative to this plugin
|
|
* powered by [chicken-curry-banana-pineapple-peanut pizza](https://a.ocv.me/pub/g/i/2025/01/298437ce-8351-4c8c-861c-fa131d217999.jpg?cache) so you know it's good
|
|
* and, unlike this plugin, kamelåså even has windows support (nice)
|
|
|
|
|
|
# dependencies
|
|
|
|
run [`install-deps.sh`](install-deps.sh) to build/install most dependencies required by these programs (supports windows/linux/macos)
|
|
|
|
*alternatively* (or preferably) use packages from your distro instead, then you'll need at least these:
|
|
|
|
* from distro: `numpy vamp-plugin-sdk beatroot-vamp mixxx-keyfinder ffmpeg`
|
|
* from pip: `keyfinder vamp`
|
|
|
|
|
|
# usage from copyparty
|
|
|
|
`copyparty -e2dsa -e2ts` followed by any combination of these:
|
|
* `-mtp key=f,audio-key.py`
|
|
* `-mtp .bpm=f,audio-bpm.py`
|
|
* `-mtp ahash,vhash=f,media-hash.py`
|
|
|
|
* `f,` makes the detected value replace any existing values
|
|
* the `.` in `.bpm` indicates numeric value
|
|
* assumes the python files are in the folder you're launching copyparty from, replace the filename with a relative/absolute path if that's not the case
|
|
* `mtp` modules will not run if a file has existing tags in the db, so clear out the tags with `-e2tsr` the first time you launch with new `mtp` options
|
|
|
|
|
|
## usage with volflags
|
|
|
|
instead of affecting all volumes, you can set the options for just one volume like so:
|
|
|
|
`copyparty -v /mnt/nas/music:/music:r:c,e2dsa:c,e2ts` immediately followed by any combination of these:
|
|
|
|
* `:c,mtp=key=f,audio-key.py`
|
|
* `:c,mtp=.bpm=f,audio-bpm.py`
|
|
* `:c,mtp=ahash,vhash=f,media-hash.py`
|