使用Kurento广播RTP流

时间:2014-11-28 18:24:20

标签: webrtc gstreamer broadcast rtp kurento

我有以下设置:

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

我使用以下管道: 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

我可以使用此pipline在我的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 Stream输出到网络的文档或教程,这样我就可以在没有任何插件的网站中包含该流吗?

我在documentation中读到有一个RTP-Endpoint和一个WebRTC-Endpoint。所以在我的理解中,我可以连接两者,并希望有这样的设置:

RPI -> GStramer --> RTP -> Server -> RTP-Endpoint (kurento Media Server) -> WebRTC-Endpoint (kurento Media Server) -> Browser(Client)

这是否是正确的方法?其他建议也欢迎。

2 个答案:

答案 0 :(得分:2)

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

  • 当您将基于H.264的RtpEndpoint连接到基于VP8的WebRtcEndpoint时,Kurento Media Server将为您透明地进行转码。这种代码转换在CPU方面是昂贵的,你将在广播中以较低的可扩展性支付它。
  • 如果您不想使用应用程序服务器(以便所有逻辑都位于RPI的客户端应用程序中),您将需要创建一个能够"发言"与Kurento媒体服务器。为此,您需要实现Kurento Protocol。否则,您可以通过某种应用服务器使用其中一个内置的Kurento客户端,但目前只有Java和JavaScript可用。

答案 1 :(得分:1)

您的问题似乎并不特定于Kurento。要播放音频和视频,您可以使用UV4L&而是Jitsi Meet

  

感谢一个新的UV4L特殊模块,现在可以加入了   任何Jitsi会议室网络会议的任何地方(包括那些人)   免费,公共meet.jit.si服务)和广播现场视频和音频   从您的相机和麦克风到所有参与者或观众   没有任何浏览器安装在Raspberry Pi上的房间!