简体中文 | English
FastDeploy Streamer(FDStreamer)是一个AI多媒体流处理框架,以Pipeline的形式编排AI推理、音视频解码、编码、推流等功能, 赋能AI应用的端到端优化和部署。
下图为FDStreamer架构图,绿色标注的部分已实现,未标注的部分仍在规划中。
- 用户可以利用极简的API和一个YAML配置文件来启动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芯片等
- DeepStream 6.1+
手动安装DeepStream 6.1.1及其依赖项,或使用以下docker:
docker pull nvcr.io/nvidia/deepstream:6.1.1-devel
- GSTreamer 1.14+
-
编译FastDeploy, 或直接下载FastDeploy预编译库
-
编译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
- 编译和运行Example
Example | 简介 |
---|---|
PP-YOLOE | 多路视频接入,PP-YOLOE目标检测,NVTracker跟踪,硬编解码,写入mp4文件 |
Video Decoder | 视频硬解码和软解码 |