Skip to content

An open-source computer vision framework to build and deploy apps in minutes without worrying about multimedia pipelines

License

Notifications You must be signed in to change notification settings

carrodher/pipeless

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pipeless

An open-source computer vision framework.

Easily create and deploy applications that analyze and manipulate video streams in real-time without the complexity of building and maintaining multimedia pipelines.

Join us in our mission and contribute to make the day to day life of computer vision developers easier!




Pipeless ships all the features you need to create and deploy efficent computer vision applications that work in real-time. Just like you implement specific functions in serverless web applications, Pipeless simply requires you to implement certain hooks to process any stream from any source.

Pipeless provides industry-standard models that you can use out-of-the-box or easily bring your own custom model. The Pipeless worker contains a built-in ONNX Runtime allowing you to run inference using any compatible model.

With Pipeless, you can deploy either on edge devices or to the cloud thanks to our container images, and it also provides a built-in communication layer to boost the stream processing speed to any desired framerate out-of-the-box, by automatically distributing the frame processing without using brokers.

Futhermore, you can easily extend the feature set thanks to the plugins system. For example, there are plugins to handle events on real-time with Kafka, use YOLOv8 models, automatically draw inference results over the original video, and many others.

Index πŸ“š

Requirements ☝️

  • Python (tested with version 3.10.12)
  • Gstreamer 1.20.3. Verify with gst-launch-1.0 --gst-version. Installation instructions here

Note about macOS

The latest version of macOS (Ventura) comes with Python 3.9 by default. You can install version 3.10 with:

brew install python

Also, to install Gstreamer in macOS use the following instead of the upstream instructions to ensure all the required packages are installed:

brew install gstreamer

Installation πŸ› οΈ

The following command installs the core (pipeless-ai) and the CLI (pipeless-ai-cli) into your system.

pip install pipeless-ai pipeless-ai-cli

By default it installs the default flavor, which does not ship any inference runtime.

You can also install the ONNX flavor for CPU or GPU usage as follows:

# Install for CPU
pip install pipeless-ai[onnx-cpu] pipeless-ai-cli

or

# Install for GPU
pip install pipeless-ai[onnx-gpu] pipeless-ai-cli

Test the installation with:

pipeless --help

NOTE: you may need to reload your shell for the new command to be available

Using docker

Instead of installing locally, you can alternatively use docker and save the time of installing dependencies:

docker run miguelaeh/pipeless --help

Find the whole container documentation here.

Getting Started πŸš€

Find the getting started guide at the new docs.

Create an application

pipeless create project <name>

Run the application

pipeless run

Configuration

We are moving the documentation to its own site to improve the search experience. Please find here the configuration section.

Built-in ONNX Runtime

With the built-in ONNX Runtime you can run inference over the video frames out-of-the box by simply providing a model.

We are moving the documentation to its own site to improve the search experience. Please find here the documentation about running inference with the ONNX runtime.

Supported stream formats πŸ“Œ

We are moving the documentation to its own site to improve the search experience. Please find here the supported protocols and media formats.

Ready to use models

We provide some modules containing a growing set of ready to use models for common cases. You can use them to develop your applications as fast as writing a couple lines of code. Each module has its own documentation, and the whole set of modules can be found here.

Plugins

The Pipeless plugin system allows you to add functionality to your application out-of-the-box. Find the whole documentation about the Pipeless plugin system here.

Troubleshooting 🐞

Please check the troubleshooting section here.

Examples 🌟

We provide some working applications under the examples directory, so you can easily run and play with them.

Find here the whole list of examples and step by step guides.

Contributing 🀝

Thanks for your interest in contributing! Contributions are welcome and encouraged. While we're working on creating detailed contributing guidelines, here are a few general steps to get started:

  1. Fork this repository.
  2. Create a new branch: git checkout -b feature-branch.
  3. Make your changes and commit them: git commit -m 'Add new feature'.
  4. Push your changes to your fork: git push origin feature-branch.
  5. Open a pull request describing your changes.

We appreciate your help in making this project better!

Please note that for major changes or new features, it's a good idea to discuss them in an issue first so we can coordinate efforts.

License πŸ“„

This project is licensed under the Apache License 2.0.

Apache License 2.0 Summary

The Apache License 2.0 is a permissive open-source license that allows you to use, modify, and distribute this software for personal or commercial purposes. It comes with certain obligations, including providing attribution to the original authors and including the original license text in your distributions.

For the full license text, please refer to the Apache License 2.0.

Notable Changes

Notable changes indicate important changes between versions. Please check the whole list notable changes.

About

An open-source computer vision framework to build and deploy apps in minutes without worrying about multimedia pipelines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.4%
  • Smarty 2.9%
  • Shell 2.1%
  • Dockerfile 0.6%