Frame-based cutting/trimming/splicing of audio with VapourSynth and FFmpeg.
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, ffmpeg_path=, quiet=, timecodes_file=])
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,None)], afile)
Output:
Uses the file extension of the input audio_file to output a cut/trimmed audio file with the same extension. If no outfile is given, defaults to audio_file_cut.ext
.
Utility Functions:
f2ts(f, src_clip=[, precision=, timecodes_file=])
Useful for finding the timestamp for a frame number.
from functools import partial
import vapoursynth as vs
core = vs.core
clip = core.std.BlankClip()
ts = partial(f2ts, src_clip=clip)
ts(5), ts(9), ts(clip.num_frames), ts(-1)
# ('00:00:00.208', '00:00:00.375', '00:00:10.000', '00:00:09.958')
clip_to_timecodes(src_clip)
Returns a list of timecodes for VFR clips. Used as a fallback when timecodes_file is not given to f2ts
or eztrim
.
Getting Started
Dependencies
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
Hashes for acsuite-orangechannel-5.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87f86d5fec1b6bff79c69bd4f594f4eeed05a4a9d47572b51a09a196bf6a656b |
|
MD5 | aee0ec072daf390f4489547b4325ea93 |
|
BLAKE2b-256 | a30d8aa488544a9f764a0e2ff57cf708184081691a98b0582cccfa4bdad5da67 |
Hashes for acsuite_orangechannel-5.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f167a1cadfe712a47c9c44bae07185d6bdc965e1626e770e4bba4c3fecc8b6b |
|
MD5 | 99a2c5bec32cb0717a825f69f1c390fd |
|
BLAKE2b-256 | 33e5e3011249b1c368d910c22e76169f57f7a8f92582d65362789b5f172a425d |