AVST
Audio Video Sync Tool
Description
AVST is a tool that syncs two videos based on their audio.
avst-sync:
- Extract audio from both videos
- Sync the audio of both videos, using cross correlation
- Pad the audios and videos to the same length considering the delay
- Save the corresponding synced audios and videos, then mux them into a single video
- [Optional] Save the synced videos stacked vertically for easier visualization
avst-sync with --reference:
- Extract audio from both videos
- Sync the audio of video2 to video1, using cross correlation
- Pad or cut video2 to match video1's start time and length
- Save the synced audio and frames of video2, then mux them into a single video
- [Optional] Stack the original video1 and synced video2 vertically for easier visualization
avst-cut:
- Pass the start and end times to cut the video
- Save the cut video
Dependencies
- Python >=3.11
- ffmpeg
Additional python packages are listed in the requirements.txt file.
Install
pip install avst
Install for dev
conda create -n avst python=3.11
conda activate avst
git clone https://github.com/fodorad/AVST
cd AVST
pip install -e .
Usage
Sync two videos
avst-sync --video1_path path/to/video1.mp4 --video2_path path/to/video2.mp4 --visualize
Expected outputs
| Video Name | Description |
|---|---|
| synced_video1.mp4 | Video 1 synced to Video 2 |
| synced_video2.mp4 | Video 2 synced to Video 1 |
| synced_session.mp4 | synced_video1.mp4 and synced_video2.mp4 stacked vertically for easier visualization |
Sync a video to a reference video
avst-sync --video1_path path/to/video1.mp4 --video2_path path/to/video2.mp4 --reference --visualize
Expected outputs
| Video Name | Description |
|---|---|
| synced_video2.mp4 | Video 2 synced to Video 1 |
| synced_session.mp4 | Original video1.mp4 and synced_video2.mp4 stacked vertically for easier visualization |
Cut a video
avst-cut --input path/to/video.mp4 --start 10 --end 20 --output path/to/cut_video.mp4
Expected outputs
| Video Name | Description |
|---|---|
| cut_video.mp4 | Cut video from 10s to 20s |
Contact
- Ádám Fodor (fodorad201@gmail.com) [website]
Metadata
Release files for avst 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| avst-1.1.1.tar.gz | 12.4 kB | Without provenance | Details for avst-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| avst-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for avst-1.1.1-py3-none-any.whl |
Total release size: 25.1 kB
Release files / avst-1.1.1.tar.gz
| Download URL | avst-1.1.1.tar.gz |
|---|---|
| Size | 12.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d56ad1c61419e4b7c8380bf8b0fea3140b64c88052403bf310a0cd5878fbfc0
|
|
BLAKE2b-256 checksum How to use checksums |
e5319ea637faad6e8593f6f637ab592ad5150d29ed4971b69eb21710d59a4827
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Release files / avst-1.1.1-py3-none-any.whl
| Download URL | avst-1.1.1-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc9c0a9ace0e6fe998f6e8c1947cb2e2b4331b41af95f3c7d587c6fc193da434
|
|
BLAKE2b-256 checksum How to use checksums |
dc18ad29834df77a539706d5b0e8dfb2b7a4f87d1affb253bf85255ba1bd2bcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Security for avst 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.