背景: 最近有个朋友的APP需要在国外搭建一个直播服务器,因为他们的主播在韩国(主播主要是记者),而观众主要在国内,叫我帮忙给他们开发一个直播服务器。
目前开源的直播服务程序有:SRS,Nginx-rtmp;如果是做开发的同学应该有所了解,SRS是基于C++写的,Nginx-rtmp模块是Ngxin的第三方C模块。一开始我是直接部署SRS/Ngxin-rtmp 到我的韩国的服务器,结果直播rtmp或者hls都不理想,经常卡顿,究其原因,还是因为这些协议都是基于TCP,一旦遇到丢包啥的,效果就非常差。
这里,我主要介绍下外海直播常用的场景,以及基于KCP协议的国外直播服务器。
复制代码
一、海外直播服务器的常用场景: 1)、主播和观众都在国内
适用于客户和观众都在国内,但需要把直播服务器架在海外的客户。直播服务器需要支持传统协议:RTMP、HLS、HTTP-FLV;应用场景如下图所示:
复制代码
2)、主播在国外、观众在国内
适用主播在国外,观众在国内,但需要把直播服务器架在海外的客户。
复制代码
三、基于KCP协议的海外直播服务器 为了给朋友搭建一个效果较好的海外直播服务器,我特意学习了一遍KCP协议,帮忙写了APP端的SDK。最终效果还是很棒。我介绍下我开发的流媒体服务的功能:
采用KCP协议作为传输层,具有超强的弱网传输能力和超低的延迟 支持NMS服务之间通过kmp协议进行中继转发 支持推流与播放 SDK版Andorid、IOS全系支持
来源:freebuf.com 2021-02-06 10:16:16 by: 华纳云Yoke
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册