Frame-based cutting/trimming/splicing of audio with VapourSynth.
Project description
acsuite
audiocutter(.py) replacement for VapourSynth.
Allows for easy frame-based cutting/trimming/splicing of audio files using VapourSynth clip information.
Functions:
eztrim(clip, trims, audio_file[, outfile, mkvmerge_path=, ffmpeg_path=, quiet=])
import vapoursynth as vs
core = vs.core
from acsuite import eztrim
file = r'/BDMV/STREAM/00003.m2ts'
afile = r'/BDMV/STREAM/00003.wav' # pre-extracted with TSMuxer or similar
src = core.lsmas.LWLibavSource(file)
# for the example, we will assume the src clip is 100 frames long (0-99)
trimmed_clip = src[3:22]+src[23:40]+src[48]+src[50:-20]+src[-10:-5]+src[97:]
# `clip` arg should be the uncut/untrimmed source that you are trimming from
eztrim(src, [(3,22),(23,40),(48,49),(50,-20),(-10,-5),(97,0)], afile)
Outputs:
-
If you have
ffmpeg
in your PATH or specify a path to an FFmpeg executable withffmpeg_path='/path/to/ffmpeg.exe'
, the script will automatically output a waveform audio file (.wav
) named/BDMV/STREAM/00003_cut.wav
. -
If not, the script will output a Mastroka Audio file (
.mka
) named/BDMV/STREAM/00003_cut.mka
.
MKV container example
import vapoursynth as vs
core = vs.core
from acsuite import eztrim
# no need to extract audio if using a container with a slice-able audio codec
file = r'/path/to/remuxed_bdmv.mkv' # Video: V_MPEG4/ISO/AVC, Audio: A_PCM/INT/LIT
# trimmed_clip = src[0:-22]
eztrim(core.lsmas.LWLibavSource(file), (0, -22), file, 'custom_name.mka')
Outputs:
-
If you have
ffmpeg
in your PATH or specify a path to an FFmpeg executable withffmpeg_path='/path/to/ffmpeg.exe'
, the script will automatically output a waveform audio file (.wav
) namedcustom_name.wav
in the directory the script is running from. -
If not, the script will output a Mastroka Audio file (
.mka
) namedcustom_name.mka
in the directory the script is running from.
Getting Started
Dependencies
Optional Dependencies
- FFmpeg - needed to output WAV files instead of Mastroka Audio (MKA)
Installing
Arch Linux
Install the AUR package vapoursynth-tools-acsuite-git
with your favorite AUR helper:
$ yay -S vapoursynth-tools-acsuite-git
Gentoo Linux
Install via the VapourSynth portage tree.
Windows / Other
Use the Python Package Index (PyPI / pip):
python3 -m pip install --user --upgrade acsuite-orangechannel
or simply
pip install acsuite-orangechannel
if you are able to use a pip
executable directly.
Help!
Check out the documentation or use Python's builtin help()
:
help('acsuite')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file acsuite-orangechannel-4.2.0.tar.gz
.
File metadata
- Download URL: acsuite-orangechannel-4.2.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1aa8a5da889751033e556b8ce47531ee48675ccd956891125c092389d1f180c7 |
|
MD5 | 998c2eb49d663052978a6bb1e3277efd |
|
BLAKE2b-256 | a206e8768c359debf74287d3715000f77531183c9169d89bc64747cdf53930f5 |
File details
Details for the file acsuite_orangechannel-4.2.0-py3-none-any.whl
.
File metadata
- Download URL: acsuite_orangechannel-4.2.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef97066d96c149e542b92322f47ed5d88f626b8681da09f6d7468e27970714d3 |
|
MD5 | f06ddfbf0313111a588dcd20793da5f5 |
|
BLAKE2b-256 | 1773f9c79a3784a6ff4188d9daa7397f8a068f2eab49f30d37e7cb86294e4e17 |