我正在尝试构建一个 GStreamer 管道,它将来自多个摄像头的图像交织成一个数据流,该数据流可以通过神经网络传递,然后分成单独的分支进行下沉。我已成功使用appsrc
插件和 Basler Pylon 5 - USB 3.0 API 创建交错馈送。但是,在我完成编写神经网络 GStreamer 元素的工作之前,我想让拆分工作。
目前,我正在考虑用“ID”标记图像,表明它来自哪个相机。然后我想我可以使用这个标签来拆分数据流。但是,我还没有找到任何与此问题完全相关的主题。我已经看到您可以使用tee
插件来分支管道,但我还没有看到它用于基于标签进行拆分。可以tee
用来做这个吗?
我见过人们使用tee
这样的方式根据来源拆分提要:
gst-launch-1.0 -vvv \
tee name=splitter \
$VSOURCE \
! $VIDEO_DECODE \
! $VIDEO_SINK splitter. \
$VSOURCE1 \
! $VIDEO_DECODE \
! $VIDEO_SINK splitter.
但是,这不允许我通过神经网络元素拥有单一路径。
如果有帮助,这是我设想的管道图:
cam1 ---\ /---> udpsink/appsink
\ /
appsrc-->neural_network-->tee---
/ \
cam2 ---/ \---> udpsink/appsink