The graph-based video processing framework
Project description
LiveSync
The graph-based video processing framework for building real-time video applications. LiveSync provides a flexible node 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 video recording pipeline:
from livesync import Graph
from livesync.prebuilt.nodes import WebcamNode, FrameRateNode, VideoRecorderNode
from livesync.prebuilt.callbacks import NodeMonitoringCallback
# Create a processing graph
workflow = Graph()
# Configure nodes
webcam = WebcamNode(name="webcam", device_id=0, fps=30)
frame_rate = FrameRateNode(name="frame_rate", fps=10)
recorder = VideoRecorderNode(name="video_recorder", filename="output.mp4", fps=10)
# Build pipeline
workflow.add_node(webcam)
workflow.add_node(frame_rate)
workflow.add_node(recorder)
workflow.add_edge(webcam, frame_rate)
workflow.add_edge(frame_rate, recorder)
# Execute pipeline
with workflow.compile() as runner:
try:
run = runner.run(callback=NodeMonitoringCallback())
print(run)
except KeyboardInterrupt:
print("\nKeyboardInterrupt: Stopping runner.")
Features
- Graph-Based Architecture: Build complex processing pipelines using a simple, intuitive DAG structure
- Real-Time Processing: Optimized for handling continuous data streams with minimal latency
- Flexible Node System: Create custom processing nodes or use pre-built ones for common media operations
- Async-First Design: Leverages Python's asyncio for efficient concurrent 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.2.1.tar.gz.
File metadata
- Download URL: livesync_io-0.2.1.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
089885502741c8abda084bebc97cea4396ae2907464a5e8735a69bcfa5bad718
|
|
| MD5 |
e691f3862104c324ccb0b21934a69bcf
|
|
| BLAKE2b-256 |
31cb04626addd224331a763b68a5a2193ddef11b60462b6af3eaa5d069a52aa9
|
File details
Details for the file livesync_io-0.2.1-py3-none-any.whl.
File metadata
- Download URL: livesync_io-0.2.1-py3-none-any.whl
- Upload date:
- Size: 38.5 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 |
21424031db8060d18250e6041c51a6043b770a0c9a36e312626fd8b01fa373eb
|
|
| MD5 |
9489be1e27e1e492b11aa7ec862bf180
|
|
| BLAKE2b-256 |
0319832ff2776d0e0c8004cf3b214a37db3f256eab6866d2e9f2fc3155843031
|