我有以下设置:

带有raspicam的Raspberry Pi(CSI摄像机)将RTP流发送到具有gstreamer1.0的同一本地网络中的服务器。

我正在使用以下管道:raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host="RPI-IP" port=5000
我可以通过以下提示在Ubuntu 14.04服务器上接收流:gst-launch-1.0 -v tcpclientsrc host="RPI-IP" port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
我在此kurento之后在服务器上安装了instructions

有人可以指出我有关如何设置服务器以使用WebRTC广播或HTTP流将RTP流发布到Web的文档或教程,因此我可以将该流包括在没有任何插件的网站中吗?

我在documentation中看到有一个RTP端点和一个WebRTC端点。因此,以我的理解,我可以将两者连接起来,并希望进行以下设置:
RPI -> GStramer --> RTP -> Server -> RTP-Endpoint (kurento Media Server) -> WebRTC-Endpoint (kurento Media Server) -> Browser(Client)
这是正确的方法吗?也欢迎其他建议。

最佳答案

实际上,您可以使用Kurento Media Server创建该设置。但是,您需要考虑几个问题:

当您将基于H.264的RtpEndpoint连接到基于VP8的WebRtcEndpoint时,

  • Kurento媒体服务器将为您透明地进行代码转换。就CPU而言,这种转码是昂贵的,您将在广播中以较小的可伸缩性来支付它。
  • 如果您不想使用应用程序服务器(因此所有逻辑都在RPI的客户端应用程序中),则需要创建一个能够与Kurento Media Server“对话”的客户端。为此,您需要实现Kurento Protocol。否则,您可以通过某种应用服务器使用内置的Kurento客户端之一,但是目前仅Java和JavaScript可用。
  • 09-10 00:28
    查看更多