尝试创建仅发送WebRTC管道时出错

尝试创建仅发送WebRTC管道时出错,webrtc,gstreamer,Webrtc,Gstreamer,我已经从源代码处安装了GStreamer-1.18.0以及基本插件、好插件、坏插件和丑插件 我不熟悉WebRTC,所以我决定从一个演示开始,看看它是如何工作的。我在上找到了一个小演示 不幸的是,当运行演示并浏览到该位置时,终端中出现以下错误: WebRTC page link: http://127.0.0.1:57778/ Processing new websocket connection 0x6d14c0 ** (webrtc-unidirectional-h264:168870): E

我已经从源代码处安装了GStreamer-1.18.0以及基本插件、好插件、坏插件和丑插件

我不熟悉WebRTC,所以我决定从一个演示开始,看看它是如何工作的。我在上找到了一个小演示

不幸的是,当运行演示并浏览到该位置时,终端中出现以下错误:

WebRTC page link: http://127.0.0.1:57778/
Processing new websocket connection 0x6d14c0
** (webrtc-unidirectional-h264:168870): ERROR **: Could not create WebRTC pipeline: could not link payloader to webrtcbin, webrtcbin can't handle caps application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96

Trace/BPT trap (core dumped)
以下是演示应用程序尝试的管道命令:

gst-launch-1.0 webrtcbin name=webrtcbin stun-server=stun://stun.l.google.com:19302 v4l2src ! videorate ! video/x-raw,width=640,height=360,framerate=15/1 ! videoconvert ! queue max-size-buffers=1 ! x264enc bitrate=600 speed-preset=ultrafast tune=zerolatency key-int-max=15 ! video/x-h264,profile=constrained-baseline ! queue max-size-time=100000000 ! h264parse ! rtph264pay config-interval=-1 name=payloader ! application/x-rtp,media=video,encoding-name=H264,payload=96 ! webrtcbin.
这对我来说似乎很奇怪,因为当我检查webrtcbin时,它确实说它具有application/x-rtp()的功能:


对于如何解决这个问题有什么建议吗?可能GStreamer包中没有正确安装某些内容?或者可能我在OS permissions\setup中遗漏了什么?

GStreamer遗漏了尼斯插件。通过确保libgstnice.so位于正确的位置,解决了此问题

Prompt--> gst-inspect-1.0 webrtcbin
...
Pad Templates:
  SINK template: 'sink_%u'
    Availability: On request
    Capabilities:
      application/x-rtp
    Type: GstWebRTCBinPad
    Pad Properties:
      transceiver         : Transceiver associated with this pad
                            flags: readable
                            Object of type "GstWebRTCRTPTransceiver"