CNStream
CNStream copied to clipboard
CNStream is a streaming framework for building Cambricon machine learning pipelines http://forum.cambricon.com https://gitee.com/SolutionSDK/CNStream
Cambricon CNStream
CNStream is a streaming framework with plug-ins. It is used to connect other modules, includes basic functionalities, libraries, and essential elements.
CNStream provides the following built-in modules:
- DataSource: Support RTSP, video file, images and elementary stream in memory (H.264, H.265, and JPEG decoding).
- Inferencer: MLU-based inference accelerator for detection and classification.
- Inferencer2: Based on infer server to run inference, preprocessing and postprocessing.
- Osd (On-screen display): Module for highlighting objects and text overlay.
- Encode: Encode videos or images.
- Displayer: Display the video on screen.
- Tracker: Multi-object tracking.
- RtspSink:Push RTSP stream to internet.
Getting started
To start using CNStream, please refer to the chapter of quick start in the document of Cambricon-CNStream-User-Guild-CN.pdf .
Samples
Classification | Object Detection |
---|---|
![]() |
![]() |
Object Tracking | License plate recognization |
---|---|
![]() |
![]() |
Body Pose | Vehicle Detection |
---|---|
![]() |
![]() |
Best Practices
How to build a classic classification or detection application based on CNStream?
You should find a sample from samples/simple_run_pipeline/simple_run_pipeline.cpp
that helps developers easily understand how to develop a classic classification or detection application based on CNStream pipeline.
This sample supports typical classification and detection neural networks like vgg resnet ssd fasterrcnn yolo-vx and so on.
This sample supports images or video file as input.
How to change the input video file?
Modify the files.list_video
file, which is under the samples
directory, to replace the video path. Each line represents one stream. It is recommended to use an absolute path or use a relative path relative to the executor path.
Documentation
Check out the Examples page for tutorials on how to use CNStream. Concepts page for basic definitions.
Community forum
Discuss - General community discussion around CNStream.