如何实现像 Instagram live 这样的直播功能?

Posted

技术标签:

【中文标题】如何实现像 Instagram live 这样的直播功能?【英文标题】:How to implement live stream feature like Instagram live? 【发布时间】:2021-12-22 13:12:10 【问题描述】:

您好,我想建立一个像 Instagram 一样的直播功能。这样用户就可以单独直播,也可以与朋友一起直播(在 Instagram 上,您可以进行 Duo 直播)。你能推荐我一个很好的解决方案来实现这一目标吗?那里有 Cloudflare Stream、agora 或 Mux 等服务,但它们非常昂贵。因为我会有一个社交网络,我不会赚很多钱,并且有很多用户流。所以我必须建立一个自己的解决方案来省钱。大家有什么想法吗?

不知道从哪里开始

也许我应该这样做:客户端通过 webRTC -> 我的服务器(Cloud Run?或者更确切地说是 App Engine?) -> 通过 RTMP 到用户客户端??这是我的第一个想法,但我不知道这是不是要走的路

我真的有0个线索。但我希望能够做到那么便宜。因为有些网站,比如chatroulette、omegle,虽然赚不了多少钱,但是却能用很少的钱启用视频通话(基本上是直播)。还有一些像 twich 和 whatsapp zoom 这样的网站可以提供免费的直播,所以他们也要考虑成本。

我找到了一个 AWS 解决方案 https://www.elemental.com/,但我觉得它非常昂贵,我不知道我不确定。另外:我想让我的服务器介于两者之间。我不想在彼此陌生的用户之间暴露敏感的 IP 信息。

非常感谢!!

@admins 我现在将帖子更改为一个问题(y)

【问题讨论】:

试试 Jitsi !它是开源的 Webrtc 实现,github.com/jitsi/jitsi-meet,因此您只需为自己的云端服务器付费 + 它还附带适用于手机的 SDK 您可以公开用户 IP 地址,即。让他们点对点连接,或者你代理流量,这对你来说非常昂贵。两者同时是不可能的。 视频流很昂贵。 DIY 不一定便宜……通常不是。 【参考方案1】:

https://www.daily.co/ 有一个免费版本的视频聊天 API。在 WebRTC 上有两个人,然后您可以通过 Daily 使用 Mux 或 IVS 将 WebRTC 直播到 RTMP。

IP地址问题大概可以通过使用Daily强制SFU模式而不是P2P来解决,但是我对IP暴露问题不太熟悉。

【讨论】:

以上是关于如何实现像 Instagram live 这样的直播功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何制作像 Instagram 一样的导航栏

如何切换像 instagram 个人资料这样的视图? (iOS)

如何像 instagram 一样实现模态向下滑动?

Instagram 等应用程序的数据库实现

如何创建像 Instagram 应用一样的动画背景渐变?

像Instagram这样的图像滑块?