gpt4 book ai didi

java - 具有多个 UDP 接收器的 GStreamer 管道(包含图像)

转载 作者:搜寻专家 更新时间:2023-10-31 20:22:37 24 4
gpt4 key购买 nike

我正在尝试使用 gstreamer-java 构建一个 session 解决方案。

我被音频部分卡住了,因为每个参与者都应该只听到其他人的声音,而不是他自己的声音。

我构建了一个管道(参见包含的图像文件)。

如果我在末尾放置一个 rtpmuxer 和一个 udpsink/multiudpsink,整个结构就可以工作。但在那种情况下,每个参与者都会得到多路复用的所有音频流(如预期的那样)。

如果我像图片中那样操作,则不会创建数据包(使用 wireshark 检查)。我的推理错误在哪里?

(您可以将图像拉到另一个标签以便能够阅读文本)

debug-image of the pipe

最佳答案

这是一个 hell 般的管道,但它确实做到了它应该做的。我添加了一个点文件的转储,因此您可以方便地提取管道的图像。

GST_DEBUG_DUMP_DOT_DIR=/tmp/ gst-launch --gst-debug-level=2 gstrtpbin name=rtpbin latency=2 sync=false udpsrc name=udpsrc0 caps="application/x-rtp, media=audio, clock-rate=8000, payload=0, encoding-name=PCMU" port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t0 ! queue max-size-buffers=150 ! liveadder name=mix1 ! mulawenc ! rtppcmupay ! udpsink name=udpsink1 host=192.168.0.101 port=5050 t0. ! queue max-size-buffers=150 ! liveadder name=mix2 ! mulawenc ! rtppcmupay ! udpsink name=udpsink2 host=192.168.0.112 port=5050  rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t1 ! queue max-size-buffers=150 ! liveadder name=mix0 ! mulawenc ! rtppcmupay ! udpsink name=udpsink0 host=192.168.0.101 port=5051 t1. ! queue max-size-buffers=150 ! mix2. rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t2 ! queue max-size-buffers=150 ! mix0. t2. ! queue max-size-buffers=150 ! mix1.

关于java - 具有多个 UDP 接收器的 GStreamer 管道(包含图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com