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

Janus-Gateway RTP-Forward to send stream to AWS Elemental MediaLive

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

WebRTC --> Janus 网关 --> (RTP_Forward) MediaLive RTP_Push 输入

我已经做到了:

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 就是收不到任何流。有什么我想念的吗?

我不熟悉 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,因此您需要一个中间节点来进行转码。

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

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