Skip to main content

Python helpers to manipulate video from vapoursynth

Project description

logo python-bestsource

Python Ubuntu

A library helper for producing and manipulating videos with audio support in vapoursynth using bestsource

Current state

Version 1.1 fixes the bug occuring in last trimmed part that needed end clamping.Big thank to myrsloik !

Sound is working with vspreview as soon as Track1 is selected in the Playback sub panel hidden by default and play is triggered for a video that has sound. I provide a test video in test/ and two examples scripts

trim.vpy:

Shows how trim is handled with video that has sound - the player I used is a forked release of vspreview 0.7.1 is available here is for users using a still supported python 3.10 version as ubuntu 22.04 user, install it using the git way.

frame.vpy

Show frame props of a clip different ways. Under scite you can trigger vspreview with [F5] or compile - In test I let you the scite config file.

aegisub audio tests support in vapoursynth

This requires vapoursynth fork from Arch1t3cht and the use of peagisub for vapoursynth plugin dir configuration. Two subtitles files are provided (1+2) and a probe system (3):

(1) Open tests/VTS_01_1-trim100.ass then tests/VTS_01_1-trim100.vpy delivers video as channel 0 and audio as channel 1 this is not supported by current release that disable Open AUdio from Video feature.

As I did not find a way to know which type of channel audio or video is requested. I opened thus a Request for feature

(2) Open tests/VTS_01_1-trim100-video-audio.ass then tests/VTS_01_1-trim100-video.vpy delivers video as channel 0 then tests/VTS_01_1-trim100-audio.vpy delivers audio as channel 0 (separately in time)

this works if you ensure plays does not goes outside boundary ie frame 101 else you will be flooded by popups. Play and seeking work fine and did not stall in middle there is just a minor problem with the horizonthal zoom for audio

Installation

as local user

pip3 install -U python-bssource

for all

sudo pip3 install python-bssource

For those who want to bridge to arch1tech's aegisub fork, use my lua helper peagisub to get the path of the vapoursynth plugin needed by aegisub_vs.py.

History

1.1.0 - Trim with video that has audio works in both aegisub and vspreview! 1.0.0 - First release

Contributing

Feel free to add other object and fixes.

Development

Compile .whl

$ ./package.sh

Upload to PyPI

  1. Create an API Token from the Web UI. (Edit your ~/.pypirc with the generated token.)
  2. Install Twine
$ python3 -m pip install --user --upgrade twine
  1. Build the wheel bundle (.egg no more recognized)
$ sudo rm -rf dist/&sudo rm -rf build&sudo python3 setup.py bdist_wheel
  1. Upload the bundle
$ python3 -m twine upload dist/*

Note: The upload to PyPI is currently assured by GitHub Actions.

Release

  1. Increase the version number in setup.py.
  2. Commit and push.
  3. Create a new tag in GitHub to trigger the CI pipeline.

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

python_bestsource-1.1.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file python_bestsource-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_bestsource-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd69c9de26d1d7b415bf932a5abc7415dbb419419351580813b46e49f8230086
MD5 b5e515d3071635d2c900802278efa735
BLAKE2b-256 a4402d96a28a14e43f9ba206d3af2ca4ce5d7847e764894a5fbbac2f1b1b37f7

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