English | 简体中文
FastDeploy Streamer (FDStreamer) is an AI multimedia stream processing framework that arranges functions such as AI inference, audio and video decoding, encoding, and streaming in the form of pipeline, to enable end-to-end optimization and deployment of AI applications.
The following figure is the architecture diagram of FDStreamer. The parts marked in green have been implemented, while the parts not marked are still under planning.
- Users can use a simple API and a YAML configuration file to start FDStreamer APP, such as video analytics APP, video decoder APP.
- FDStreamer APP calls GStreamer API to build Pipeline, handle callback functions, etc.
- The underlying elements/plugins of GStreamer include plugins built into the GStreamer framework (such as appsink, x265), plugins from 3rd SDKs (such as DeepStream’s nvinfer, nvtracker), and plugins provided by FDStreamer (under planning)
- GStreamer plugins run on different hardwares, such as codec hardware, CPU, GPU, NPU and other AI chips.
- DeepStream 6.1+
Install DeepStream 6.1.1 and dependencies manually,or use below docker:
docker pull nvcr.io/nvidia/deepstream:6.1.1-devel
- GSTreamer 1.14+
-
Build FastDeploy, or download FastDeploy prebuilt libraries
-
Build Streamer
cd FastDeploy/streamer/
mkdir build && cd build/
# Download FastDeploy prebuilt libraries, please check `FastDeploy prebuilt libraries` above.
wget https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-x.x.x.tgz
tar xvf fastdeploy-linux-x64-x.x.x.tgz
cmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/fastdeploy-linux-x64-x.x.x
make -j
CMake Options:
- ENABLE_DEEPSTREAM, whether to enable NVIDIA DeepStream, ON by default.
- Build and Run Example
Example | Brief |
---|---|
PP-YOLOE | Multiple input videos, PP-YOLOE object detection, NvTracker, Hardware codec, writing to mp4 file |
Video Decoder | Video decoding using GPU or CPU |