我有一个关于Gstreamer的Webrtc的问题。我对框架工作还比较陌生,我不确定我想要达到的目标是否可能。
我有一个Webrtc对等点,我想连接和检索一个音频流。然后,我希望将相同的流输送到另一个位于不同端点的webrtc对等点。
我可以分别做到这两个方面,即:
上的音频
这个是可能的吗?如果是的话,有没有人知道如何做到这一点呢?Python更喜欢,但是C也很好。另外,如果一个例子不存在,如果有人能很好地描述这个例子是如何工作的。
提亚
发布于 2022-09-27 06:20:46
Gstreamer不是工作的合适工具,因为它是一个媒体处理库。在WebRTC的范围内,Gstreamer将负责解码媒体流,最终完成一些操作,例如显示视频或播放音频。它的工作方式大致如下:
# Real Time Protocol socket (WebRTC over the network)
[peer A > rtp (udp) stream > peer B]
# Network layer from peer B to media layer in peer B machine
[peer B > rtp stream (local pipe/udp) > Gstreamer pipeline]
# GStreamer pipeline
[src (e.g. udpsrc, appsrc) > rtpdepay (e.g. rtph264depay, rtpopusdepay) > rtp payload filter > decode (e.g. avdec_h264, opusdec) > ... > sink (e.g. autovideosink, autoaudiosink)]
您所要做的只是绕过数据,因此由于您不打算对数据进行任何处理,所以您的工作流并不真正需要Gstreamer。
# Real Time Protocol socket (WebRTC over the network)
[peer A > rtp (udp) stream > peer B.1]
# Bypass
[peer B.1 > rtp stream (local pipe/udp) > peer B.2]
# Real Time Protocol socket (WebRTC over the network)
[peer B.2 > rtp (udp) stream > peer C]
也就是说,它看起来非常像是在中继对等连接,这就是转服务器的目的。也许看一看也是一项工作。
https://stackoverflow.com/questions/70933303
复制相似问题