沐鸣娱乐


        视频点播流媒体服务器调研(流媒体点播系统)

        视频点播流媒体服务器调研(流媒体点播系统)

        需要选型一个流媒体服务器 ,故搜罗网上资料 ,整理出以下内容供参考

        出处皆已标注链接

        目录

        流媒体协议

        直播流媒体协议

        理解RTMP、HttpFlv和HLS的正确姿势

        流媒体文件支持格式

        市面上主流的流媒体服务器归纳

        38款流媒体服务器开源软件

        主流流媒体服务器介绍:

        AMS/wowza/red5/SRS主要功能对照分析:

        AMS(FMS)流媒体服务器系统

        wowza流媒体服务器系统

        Red5流媒体服务器系统

        SRS流媒体服务器系统

        SRS之深入浅出看流媒体:

        Linux下视频流媒体服务器搭建详解

        websocket Media Source Extensions API

        EasyDarwin

        最终选型

        其他资料

        流媒体协议

        RTMP&HLS(专用协议流式)实时流传输既可传输实况直播,也可传输完整的音视频文件

        HTTP渐进式(基于TCP):顺序流媒体不可用于实况直播,仅能传输完整的音视频文件

        原则上,RTSP,RTMP,HTTP 都可以做直播和点播,

        但一般做 直播用 RTSP和RTMP,做点播用 HTTP。

        直播流媒体协议

        https://blog.csdn.net/u011216417/article/details/72835402

        RTP/RTCP/RTSP/WebRTC/RTMP/HLS

        理解RTMP、HttpFlv和HLS的正确姿势

        https://www.jianshu.com/p/32417d8ee5b6

        流媒体文件支持格式

        MP4

        3GP

        FLV

        F4V

        MPEG-TS

        市面上主流的流媒体服务器归纳

        FMS(AMS)(Flash mediaserver) 商业级 收费

        Red5 开源 (稳定性与性能差,大多作为个人使用)

        NGINX-RTMP(主要用于点播)开源

        Wowza (Wowza Streaming Engine) 商业级 收费

        SRS (Simple Rtmp Server)

        阿里云(视频点播/直播等) 商业级 收费

        若有兴趣可以看看其他市面上的流服务器:

        38款流媒体服务器开源软件

        https://www.cnblogs.com/lidabo/p/7418505.html

        主流流媒体服务器介绍:

        https://blog.csdn.net/datamining2005/article/details/55260491

        FMS 4.x版本可破解版本

        Red5稳定性不够

        Nginx推流伪流媒体(http渐进式)

        AMS/wowza/red5/SRS主要功能对照分析:

        https://www.cuplayer.com/player/PlayerCodeCourse/2017/11093244.html

        AMS(FMS)流媒体服务器系统

        Flash Media Server (简称FMS),后更名为Adobe Flash Media Server (简称AMS)。它是较早(2002年)做流媒体服务器产品的,原公司是Macromedia ,后来被Adobe收购了,它是流视频和实时通信领域业界领先的解决方案,该产品可以快速搭建起一套流媒体直播 、点播服务器。

        wowza流媒体服务器系统

        wowza全名是Wowza Streaming Engine,是一款非常优秀的流媒体服务器产品。也算是除了FMS产品之外的一个老版子产品 ,产品发布于2007年,他在HLS(m3u8)分发方面是非常不错的。从wowza2.0到现在的wowza4.5 ,都曾关注和使用过他们的产品 ,总体来说性价比还是蛮高的。

        Red5流媒体服务器系统

        Red5 (media server) 流媒体系统 ,免费开源的是它最大的优点,也因此有很多用户在使用它们的产品,然后不足在于占用服务器资源较高 。

        SRS流媒体服务器系统

        SRS(Simple Rtmp Server)定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码 ,这是该产品自己官方的介绍。值得一说的是,前面几个产品都是国外的,而这个作者是国内的。

        SRS之深入浅出看流媒体:

        https://blog.csdn.net/zjqlovell/article/details/50786040

        Linux下视频流媒体服务器搭建详解

        https://blog.csdn.net/u011596455/article/details/79431116

        websocket Media Source Extensions API

        当然也看到有人提出 websocket Media Source Extensions API(比较小众就不尝试了,等下出问题了歇逼)

        初级调研排除收费与Red5 ,接下来准备对比Nginx-RTMP于SRS和DSS这三种流服务器。

        因为目标APP暂不提供直播功能 ,在点播领域的话使用HTTP协议即可。

        EasyDarwin

        恰巧国内有专门做开源解决方案EasyDarwin封装了一整套流媒体框架

        https://www.easydarwin.org/pdf/EasyDarwin_Introduction.pdf

        所以花时间研究了下EasyDarwin这套解决方案 。

        发现!你妹,EasyDSS解决方案也分为开源和商业,开源的项目没卵用,真正有用的项目是要钱的,基础的点播模块还需要商业版才能使用,凸 ,故放弃。

        流媒体平台框架 EasyDarwin

        https://www.oschina.net/p/easydarwin

        EasyDarwin开源项目(7Project):

        EasyDarwin开源项目至今包括有 :EasyDarwin(开源流媒体服务器) 、EasyCMS(中心管理服务器)、EasyCamera(云摄像机服务) 、EasyClient(云平台客户端) 、EasyAACEncoder(开源音频编码项目) 、EasyAudioDecoder(开源音频解码项目)、EasyProtocol(开源云平台协议)等多个项目,完整地构架了一套开源流媒体云平台方案。

        EasyDarwin商业项目(8Project)

        同时,EasyDarwin开源团队也开发了很多流媒体方面的商业项目,包括有:

        EasyPlayer 是一款精炼、高效、稳定的流媒体播放器,分为RTSP版和Pro版本 ,EasyPlayer RTSP版本支持Windows(支持多窗口、包含ActiveX,npAPI Web插件) 、androids 、ioses多个平台,EasyPlayerPro支持androids 、ioses,支持各种各样的流媒体音视频直播/点播播放,项目地址:https://github.com/EasyDarwin/EasyPlayer;

        EasyPusher 是一款简单 、高效、稳定的一款标准RTSP/RTP协议直播推送库,支持将H.264/G.711/G.726/AAC等音视频数据推送到RTSP流媒体服务器进行低延时直播或者视频通信 ,支持Windows、Linux 、ARM、androids 、ioses等平台 ,EasyPusher配套EasyDarwin流媒体服务器、EasyPlayer RTSP播放器适用于特殊行业的低延时应急指挥需求!项目地址 :https://github.com/EasyDarwin/EasyPusher ;

        EasyNVR 摄像机(通用RTSP、Onvif摄像机)接入服务,EasyNVR能够通过简单的摄像机通道配置 、存储配置、云平台对接配置、CDN配置等 ,将统监控行业里面的高清网络摄像机IP Camera、NVR 、移动拍摄设备接入到EasyNVR,EasyNVR能够将这些视频源 的音视频数据采集到设备端,进行全平台终端直播、录像存储、录像检索和录像回放。并且EasyNVR能够将视频源的直播数据对接到第三方视频平台、CDN网络 ,实现互联网直播分发,具体接入方法见https://github.com/EasyDarwin/EasyNVR;

        EasyIPCamera 是一套精炼、高效 、稳定的RTSP服务器组件,调用简单灵活,轻松嵌入部署到IPCamera中,并发性能属于行业领先水平 ,广泛应用于IPCamera RTSP服务 、androids/Windows投屏/同屏直播服务 ,例如课堂教学同屏、会议同屏、广告投放同屏等!项目地址:https://github.com/EasyDarwin/EasyIPCamera;

        EasyRTMP 是一套调用简单、功能完善 、运行高效稳定的RTMP功能组件 ,经过多年实战和线上运行打造,支持RTMP推送断线重连、环形缓冲 、智能丢帧、网络事件回调,支持Windows 、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/etc..)、androids 、ioses平台,支持市面上绝大部分的RTMP流媒体服务器,包括Red5、Ngnix_rtmp、crtmpserver等主流RTMP服务器 ,能够完美应用于各种行业的直播需求 ,手机直播 、桌面直播、摄像机直播、课堂直播等等方面!项目地址 :https://github.com/EasyDarwin/EasyRTMP;

        EasyRTSPClient 是一套简单、稳定、高效 、易用的RTSPClient工具库,支持Windows、Linux、ARM、androids、ioses等几乎所有平台,支持RTP Over TCP/UDP ,支持断线重连,能够接入市面上99%以上的IPC ,调用简单且成熟稳定,能广泛应用于播放器 、NVR、流媒体系统级联等产品中!项目地址:https://github.com/EasyDarwin/EasyRTSPClient ;

        EasyHLS 是一套简单 、可靠、高效、稳定的HLS直播切片SDK,能够将实时的H.264视频和AAC音频流实时切片成可供WEB、androids、ioses 、微信等全平台客户端观看的HLS(m3u8 ts)直播流,搭配EasyRTSPClient、EasyAACEncoder等项目 ,可将大部分的安防摄像机对外进行HLS直播发布 ,同时也可灵活集成在各种流媒体服务中 !项目地址 :https://github.com/EasyDarwin/EasyHLS ;

        EasyRMS 是一套基于HLS协议的录像与回放服务器,EasyRMS能够将RTSP源获取到本地进行本地存储或者存储到阿里云对象存储OSS云存储等第三方存储平台,同时EasyRMS提供录像的检索与查询接口 ,检索出录像的HLS地址进行录像回放!项目地址:https://github.com/EasyDarwin/EasyRMS;

        EasyDarwin云平台

        EasyDarwin云平台是一套由EasyDarwin、EasyCMS、EasyCamera、EasyClient、nginx、redis构成的完整云平台架构,支持分布式、跨平台、多点部署 ,流媒体服务器支持负载均衡 ,按需直播 ,非常适用于互联网化的安防、智能家居、幼教平台、透明厨房、透明家装等多个行业应用 :

        最终选型

        最后纠结的将范围缩短为三个项目 :DSS和SRS和Nginx

        接下来分析这两种流媒体对视频点播的支持程度

        分别展开介绍:

        1.DSS:苹果公司的Darwin Streaming Server(简称DSS)完全免费,没有任何功能限制,且符合国际标准。但DSS在linux上的安装比较繁琐,所以大多数人会选择easyDSS(就是上面提到的EasyDarwin)

        2.SRS:(Simple Rtmp Server)一个采用MIT协议授权的国产的简单的RTMP/HLS 直播服务器 ,其核心的价值理念在于简单高效

        一位疯狂舔SRS的小哥哥说<SRS超级强,无所不能秒杀其他同类媒体服务器>

        https://blog.51cto.com/renjunjie622/1782407

        后SRS官方改名为:ossrs

        github:

        产品定位:https://github.com/ossrs/srs/wiki/v1_CN_Product

        产品发展 :https://ossrs.net/srs.release/releases/

        总的来看SRS还是可以的…

        附带资料:

        完整的直播 点播全端解决方案 https://blog.csdn.net/dipolar/article/details/64122168

        3.Nginx-RTMP:

        战斗民族俄罗斯人民开发的一款NGINX的流媒体插件,除了直播发布音视频流之外具备流媒体服务器的常见功能

        比如推拉流媒体资源

        基于HTTP的FLV/MP4 VOD点播

        HLS (HTTP Live Streaming) M3U8的支持

        基于http的操作(发布、播放 、录制)

        可以很好的协同现有的流媒体服务器以及播放器一起工作

        在线调用ffmpeg对流媒体进行转码

        H264/AAC音视频编码格式的支持

        linux/BSD/MAC系统的支持

        因为我们如果做的点播的话不涉及直播板块,几乎还是使用HTTP协议,根据之前的一篇博文:(NGINX-RTMP风生水起有几个很重要的因素 。首先2012年开始CDN业务开始快速增长,随之直播业务也需求暴涨,没有特别满意的流媒体服务器 ;其次 ,NGINX在HTTP领域绝对是霸主 ,大家对于NGINX系的熟悉程度很高 ,便于维护;再次,直播点播使用一套服务器 ,很有诱惑力,这可以算是“万金油”效应,很多套服务器搞得焦头烂额 ,肯定一套服务器能解决问题;最后,CDN是运维比技术牛逼的行业,运维的信心都是运行出来的,NGINX运行那么良好,那么NGINX-RTMP也肯定不错。)

        综上所述,DSS我对他没有什么好感,SRS是挺牛逼的但是总觉得用的话是大材小用,毕竟人家还是主做流直播的,转点播也需要一点功夫。个人觉得可以上一波NGINX,一个原因是主要目标是视频点播,上的还是HTTP服务,其次是Nginx这块我们可能上手也比较OK。

        其他资料

        https://www.idcicp.com/assist/assistInfo_22381.html

        CPU:两颗至强E5530

        内存:16GB

        硬盘:2T

        操作系统:CentOS 6.5 64bit

        这样子的一个配置大致是能满足一个200-300人同时在线的短视频app的需求的

        https://www.webxun.com/newsxq_201.html

        暂不考虑直播功能(美颜的算法与聊天室功能还是服务器压力)

        https://bbs.csdn.net/topics/300252276

        lvclive555的server端也小有名气

        https://blog.csdn.net/dxpqxb/article/details/83012950

        srs andrioid直播推流(可以学习一下,不过先不碰直播这个板块吧)

        https://blog.csdn.net/yb1314111/article/details/84983568

        抖音短视频源码中视频排序模块热门列表解决方案

        https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/78780562

        利用Simple-RTMP-Server搭建RTMP和HLS直播服务

        https://blog.csdn.net/elesos/article/details/80899787

        利用Nginx搭建RTMP视频直播 ,点播服务器,ffmpeg推流 ,回看

        下载的一些p2p流媒体服务的研究资料

        链接 :https://pan.baidu.com/s/1hwMk_YdeGFI1nwC6BVM3XQ

        提取码 :rcjq

        ————————————————

        版权声明:本文为CSDN博主「我的浪漫与极端」的原创文章,遵循CC 4.0 BY-SA版权协议 ,转载请附上原文出处链接及本声明。

        原文链接:https://blog.csdn.net/u013202518/java/article/details/89956990

        相关新闻

        联系我们
        联系我们
        分享本页
        返回顶部

          XML地图