Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

python-bestsource

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-bestsource

Python helpers to manipulate video from vapoursynth

  • 1.2.0
  • PyPI
  • Socket score

Maintainers
1

logo python-bestsource

Python Ubuntu

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

Current state

Version 1.2 bring filter range support with both ApplyRange and FrameEval in TextSub : a door to make Animations easier in vapoursynth is now open =)

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.

Audio and Sub Range tests support in Aegisub (.ass) / vspreview (.vpy)

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 Sound works fine in vspreview you can trigger with scite by opening tests/VTS_01_1-trim100.vpy and press [F5] Note you will have no sound in vsedit (vapoursynth editor) for all the tests

(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 just before the end as in vspreview there is just a minor problem with the horizonthal zoom for audio

(3) Open tests/VTS_01_1-trim100-applyrange.ass then tests/VTS_01_1-trim100-applyrange.vpy is used for video

This will show we have a portion from 50 to 60 of VTS_01_1-trim100.ass using a mimick AVS method ApplyRange

(4) Open tests/VTS_01_1-trim100-frameval.ass then tests/VTS_01_1-trim100-frameval.vpy is used for video

This will show we have a portion from 50 to 60 of VTS_01_1-trim100.ass most similar of AVS Animate, you can grab the current frame number in the filter that ApplyRange do no handle.

(5) Open tests/VTS_01_1-trim100-range.ass then tests/VTS_01_1-trim100-frameval.vpy is used for video then tests/VTS_01_1-trim100-audio.vpy is used to restrore sound

This will show how to add a green mask from 50 to 60 in ASS

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.2.0 - ApplyRange and FrameEval samples in tests/ 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.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc