Gstreamer-1.0 管道可以正常工作。我不是 100% 确定将两个流重新混合在一起,但我相信这是可能的(也许使用oggmux
)。我已经测试了与此类似的东西,并且能够在通过网关接收解密/解复用 rtp 流的 linux 设备上解码和播放流(我使用Janus-Gateway)。
gst-launch-1.0 rtpbin name=rtpbin udpsrc name=videoRTP port=5000 \
caps="application/x-rtp, media=video, encoding-name=VP8-DRAFT-IETF-01, payload=100" ! \
rtpbin.recv_rtp_sink_0 rtpbin. ! rtpvp8depay ! webmmux ! queue ! filesink location=video.webm sync=false async=false \
udpsrc name=videoRTCP port=5001 ! rtpbin.recv_rtcp_sink_0 \
udpsrc name=audioRTP port=5002 \
caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=96" ! \
rtpbin.recv_rtp_sink_0 rtpbin. ! rtpopusdepay ! oggmux ! filesink location=audio.ogg sync=false async=false \
udpsrc name=audioRTCP port=5003