我正在使用StreamYard服务做一个实时流到多个目的地,如Facebook和youtube。我想要创建一个移动应用程序使用颤振,可以接收该流并使用它(我的意思是显示实时流)。流场只使用RMTP作为自定义目的地。
我的问题是:是否有一种方法可以在StreamYard平台和我的移动应用程序之间创建和托管一个自定义的RMTP在线服务。我想让它在我从StreamYard的实时流中运行,它将被分享到Facebook,youtube,以及我的移动应用程序。我做了很多研究,但我发现唯一的方法是使用windows或linux作为主机,这是我希望它在线的。
此外,其他解决方案也受到欢迎,比如使用webRTC。
发布于 2021-12-29 05:42:33
由于您使用的是StreamYard,所以我认为您需要使用INVITE
特性启动Video Chat
,然后转换为实时流,它的工作方式如下所示:
UserA --WebRTC--->---+
+--->- StreamYeard -->-RTMP-->- YouTube/Twitch.tv
UserB --WebRTC---->--+
您需要购买一个非免费计划来支持Custom RTMP destinations
将RTMP发布到您的媒体服务器(如SRS或Nginx ),然后您可以将其广播到多个目的地,如下所示:
+->-- YouTube/Twitch.tv
|
StreamYeard ->-RTMP-+->- Custom RTMP destinations --+--RTMP-> YouTube/Twitch.tv
(SRS/Nginx media server) |
+--HLS/FLV--> Flutter App
注意:一旦流到您的RTMP服务器或视频云平台,您可以切换到HLS/HTTP,让您的FlutterAPP播放它。关于播放器和协议,请阅读这里。这取决于您想要自己构建的部分,也可以通过开源项目构建。注意:您可以使用StreamYeard向YouTube和自定义RTMP服务器进行流传输,也可以使用FFmpeg从自定义服务器中提取流,然后发布到任何其他实时流平台。
对于这个解决方案,StreamYeard实际上充当Video Chat
或视频会议平台,比如缩放。它将对每个WebRTC流进行编码,并将所有音频和视频混合到一个RTMP流中。
因此,您可以使用WebRTC服务器构建StreamYeard
,然后使用FFmpeg对流进行代码转换和混合,因为这是一个不讨论的主题,所以让我在这里停止讨论。
https://stackoverflow.com/questions/68986914
复制相似问题