Janus-Gateway RTP-Forward 将流发送到 AWS Elemental MediaLive

Posted

技术标签:

【中文标题】Janus-Gateway RTP-Forward 将流发送到 AWS Elemental MediaLive【英文标题】:Janus-Gateway RTP-Forward to send stream to AWS Elemental MediaLive 【发布时间】:2018-11-16 18:02:11 【问题描述】:

我正在使用 Janus-Gateway 中 videoroom 插件中的 rtp_forward 流式传输 WebRTC。 我的目标管道如下所示:

WebRTC --> Janus-Gateway --> (RTP_Forward) MediaLive RTP_Push Input

我做到了:

WebRTC --> Janus-Gateway --> (RTP-Forward) Janus-Gateway [流插件]

我尝试了多个 rtp_forward 请求,例如:

register = "request": "rtp_forward", "publisher_id": 8097546391494614, "room": 1234, "video_port": 5000, "video_ptype": 100, "host": "medialive_rtp_input", "secret": "adminpwd"

但 medialive 只是没有收到任何流。我有什么遗漏吗?

【问题讨论】:

【参考方案1】:

我不熟悉 AWS MediaLive:最初我认为,由于大多数像这样的媒体服务器都需要 RTMP 而不是 RTP,这就是问题的原因,但看起来它确实支持纯 RTP 输入模式.此时这很可能是编解码器问题:可能 MediaLive 不支持您的浏览器发送的编解码器(opus 和 vp8?)。查看支持的编解码器,这似乎是问题所在:https://docs.aws.amazon.com/medialive/latest/ug/inputs-supported-containers-and-codecs.html

如果您在浏览器中使用 H.264,您可能可以让视频正常工作,但音频始终是 Opus 而绝对不是 AAC,因此您需要一个中间节点来进行转码。

【讨论】:

【参考方案2】:

由于您使用的是 RTP PUSH,您是否将其推送到 AWS 提供的正确 RTP 端点?如果是这样,您可以在运行状况检查中看到警报,如果 Medialive 收到它但它未能读取或损坏。您会看到错误是您正在推送流的任何这些 pieplines,如果您没有看到任何意味着网络问题的任何内容,请尝试 RTMP,因为它在 TCP 上并且应该在数据包捕获器中得到一些东西。

https://docs.aws.amazon.com/medialive/latest/ug/monitoring-console.html

【讨论】:

以上是关于Janus-Gateway RTP-Forward 将流发送到 AWS Elemental MediaLive的主要内容,如果未能解决你的问题,请参考以下文章

Jattack: janus-gateway压测工具

如何将 webRTC 内容提供商连接到 Janus-Gateway 流插件

Janus-Gateway WebRTC 分辨率

使用 Janus-gateway 的远程视频流未在 react-native 中显示

vue-cli3.0使用Janus的配置

Janus WebRTC 安装问题