简体中文 | [English](README_EN.md) # FastDeploy Streamer ## 简介 FastDeploy Streamer(FDStreamer)是一个AI多媒体流处理框架,以Pipeline的形式编排AI推理、音视频解码、编码、推流等功能, 赋能AI应用的端到端优化和部署。 下图为FDStreamer架构图,绿色标注的部分已实现,未标注的部分仍在规划中。 - 用户可以利用极简的API和一个[YAML配置文件](docs/cn/yaml_config.md)来启动FDStreamer APP, 例如视频分析APP、视频硬解码APP - FDStreamer APP层调用GStreamer API来构建Pipeline、处理回调函数等 - GStreamer的底层的element/plugin包括GStreamer框架内置的plugin(例如appsink、x265)、第三方SDK的plugin(例如DeepStream的nvinfer、nvtracker),以及FDStreamer提供的plugin(计划中) - GStreamer plugin的底层会调用编解码硬件、CPU、GPU、NPU以及其他AI芯片等

## 准备环境 ### Jetson - DeepStream 6.1+ ### x86 GPU 手动安装DeepStream 6.1.1及其依赖项,或使用以下docker: ``` docker pull nvcr.io/nvidia/deepstream:6.1.1-devel ``` ### CPU - GSTreamer 1.14+ ## 编译和运行 1. [编译FastDeploy](../docs/cn/build_and_install), 或直接下载[FastDeploy预编译库](../docs/cn/build_and_install/download_prebuilt_libraries.md) 2. 编译Streamer ``` cd FastDeploy/streamer/ mkdir build && cd build/ # 下载FastDeploy预编译库,用户可在上文提到的`FastDeploy预编译库`中自行选择合适的版本使用 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 ``` 编译选项: - ENABLE_DEEPSTREAM,是否使用NVIDIA DeepStream,非NVIDIA GPU的环境需关闭此选项,默认ON 3. 编译和运行Example | Example | 简介 | |:--|:--| | [PP-YOLOE](./examples/ppyoloe) | 多路视频接入,PP-YOLOE目标检测,NVTracker跟踪,硬编解码,写入mp4文件 | | [Video Decoder](./examples/video_decoder) | 视频硬解码和软解码 |