The graph-based video processing framework
Project description
LiveSync
A Keras-inspired asynchronous stream processing framework for building real-time media applications. LiveSync provides a flexible layer system for creating both synchronous and asynchronous media processing pipelines.
Installation
We recommend using rye for installation:
rye add livesync-io
Alternatively, you can use pip:
pip install livesync-io
Quick Start
Here's a simple example of a webcam recording pipeline:
import livesync as ls
from livesync import layers
x = ls.WebcamInput(device_id=0, fps=30)
f1 = layers.FpsControlLayer(fps=10)
f2 = layers.VideoRecorderLayer(filename="./examples/output.mp4")
h = f1(x)
y = f2(h)
sync = ls.Sync(inputs=[x], outputs=[y])
with sync.compile() as runner:
runner.run(callback=ls.LoggingCallback())
You can visualize the pipeline by printing y.graph:
>>> print(y.graph)
● (f2): Records processed frames to MP4 file
│
● (f1): Controls frame rate of the stream
│
◇ (x): Captures frames from webcam (device 0)
Features
- Layer-Based Architecture: Build complex processing pipelines using a Keras-inspired layer system
- Async-First Design: Built from the ground up for asynchronous stream processing
- Media Processing: Optimized for real-time audio and video processing
- Flexible Stream System: Support for both synchronous and asynchronous data flows
- Remote Processing: Built-in gRPC support for distributed processing
Requirements
- Python 3.10 or higher
- OpenCV Python
- FFmpeg
- gRPC tools (for remote processing)
Documentation
For detailed documentation and examples, visit our documentation site.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
LiveSync is developed and maintained by OS Designers, Inc. For support, feature requests, or bug reports, please open an issue on our GitHub repository.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file livesync_io-0.3.8.tar.gz.
File metadata
- Download URL: livesync_io-0.3.8.tar.gz
- Upload date:
- Size: 51.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa23ca7c10edf050aa9e772b940d55a5fc4fee9c68e1c8ecdf2b9f1c3d043b63
|
|
| MD5 |
6af1c9df3153e4ef12f81df53ef1ea04
|
|
| BLAKE2b-256 |
8aec14c4dff7e05de7d2df7321b28ec6712a6547b05a245bc6a4f737fdccbe6f
|
File details
Details for the file livesync_io-0.3.8-py3-none-any.whl.
File metadata
- Download URL: livesync_io-0.3.8-py3-none-any.whl
- Upload date:
- Size: 54.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a121e10cbc7deb02514133bae74eabec697bd84d390ecd5ebfa0176dcd44056
|
|
| MD5 |
067335c72b1ee7c4a87bf9cb2f1f711b
|
|
| BLAKE2b-256 |
b390e2f601735104e06bffe8c82c70dc3d113633b6d82b4c85a04eb55ddf3b78
|