如何在 Kurento 媒体服务器中禁用视频编码?

How to disable video encoding In Kurento Media Server?

我正在使用 Kurento 媒体服务器进行视频流传输,我有 RTSP 上的 h264 视频源。我正在使用以下代码创建 PlayerEndpoint

pipeline.create('PlayerEndpoint', {uri: 'rtsp://hostaddress:8554/stream', useEncodedMedia: false}, function(error, _playerEndpoint) {

但是还是converts/encodesh264变成了VP8,需要更多的编码处理。所以我的视频流出现延迟。我只是想直接将 h264 视频流式传输到 VP8,而无需 conversion/encoding。我认为 Firefox 支持 H264 视频编解码器。

是否可以在 Kurento 媒体服务器中禁用编码?如果是,那么请帮助我做同样的事情,或者如果需要建议任何更多的代码更改。

Firefox 可以播放这种来自 KMS 的 h264 流吗?

您不能在 Kurento 中禁用代码转换。你能做的就是阻止他们。如果您正在转码为 VP8,我认为您正在将播放器连接到 WebRTC 端点。为此,您的 WebRTC 必须经过协商才能使用 h264。这可以在 FF 中完成,也可以在 Chrome 中完成。你需要

  • openh264-gst-plugins-bad-1.5安装在您的KMS中(安装后请重启)
  • 确保客户端发送的SDP只宣告h264

有了它,您应该在整个管道中获得 h264。


更新

您可以通过修改文件/etc/kurento/modules/kurento/SdpEndpoint.conf.json强制在WebRtcEndpoints中使用h264。在该配置文件的底部,有一个视频编解码器部分。如果您注释掉 VP8,您将迫使其他对等方使用 h264

"videoCodecs" : [
//    {
//      "name" : "VP8/90000"
//    },
    {
      "name" : "H264/90000"
    }
]