首页 > 解决方案 > 在 Gstreamer 中构建多个管道

问题描述

我有一个要求,我必须同时维护 5 个独立的管道。

这些管道相似,如下所示:

udpsrc -> rtppcmadepay -> alawdec -> audioconvert -> audioresample -> voamrwbenc -> rtpamrpay -> udpsink

我对此有几个问题:

1、当我发送一个流(启动一个管道)时,来自udpsink的音频经过编码和解码后非常清晰。但是,一旦产生 2 个流(启动 2 个流),就会引入大量噪声和抖动。

问题:这 5 个管道是否访问相同的 udpsrc 或其他元素(即使我每次都为每个管道创建了它们),从而引入了抖动或噪声?

2,在这样一个编码-解码调用中,请你告诉我这应该占用多少CPU?就我而言,一次调用(输入流)的 4-7% 和 5 次调用(输入流)的近 50-80% 不等。

这种行为正常吗?

CPU 的增加不应该是线性的,因为每个管道都应该占用相同数量的 CPU 吗?它们中的每个元素都是相同的,它们的工作也是相同的。

感谢您提前提供帮助并原谅语法。

标签: gstreamerrtptranscodinggstreamer-1.0amr

解决方案


推荐阅读