流媒体服务器(Media/Live)的主要功能介绍

xzdxmynet 发布于 2024-04-26 阅读(15)

流媒体服务器(Media/Live)是互联网上视频点播和视频直播的基础支撑软件系统。 如果你想做互联网上的视频广播应用,比如在线课堂、视频通话、视频点播、视频资讯、短信、视频、网络直播、企业直播等,那么就需要使用流媒体服务器。

主流流媒体服务器有NTV Media G3(云视锐博)、Wowza(Wowza Media)、FMS(Adobe)等。

从项目开发的角度来看,流媒体服务器将你在构建在线应用中与视频相关的工作集中起来,让你只关注业务细节,而不必处理很多与视频相关的技术细节,从而达到提高的目标提高项目实施效率,降低项目实施风险。

从产品功能上来说,流媒体服务器在一定的主机配置条件和网络带宽条件下,可以提供流畅、高并发的视频播放能力。 因为流媒体服务器本身在视频播放方面做了很多优化,比如代码流控、IO优化、竞争处理等,充分利用硬件和网络能力来提供尽可能多的并发。

作为视频点播服务器,流媒体服务器提供的主要功能包括:接收视频文件上传、视频转码、视频存储与管理、视频播放地址发布、多终端适配等。大多数流媒体服务器都会生成一个转码后支持多种广播协议,可为网页、iOS终端、终端提供广播地址。

作为视频直播服务器,流媒体服务器提供的主要功能包括:直播流接收(如接收RTMP协议推流)、直播流转发和播放、向播放器发布直播地址、直播录制、生成大多数流媒体服务器都会输出多种协议的直播地址,以适应不同终端的播放需求。 这些广播地址包括:rtmp协议地址、http-flv协议地址、HLS地址等。

随着技术的发展,流媒体服务器技术和产品也在不断发展和演变。 目前(2020年)视频直播技术的发展趋势包括:

1)以高清视频(1080p、4K)、高码率广播(>2Mbps)为主;

2)H264仍然是主要的视频编码格式,VP9/H265也开始在一些应用中使用;

3)更多视频传输使用http协议,Flash播放器逐渐被淘汰;

4)使用视频广播协议的应用越来越多。

5)双向视频应用越来越多,在在线教学、会议直播等直播应用中已经成为标配。

附图:NTV Media G3采用上行协议进行直播

目前主要的流媒体服务器类表(包括开源项目):

1)Nginx rtmp(开源)

高性能、中等成熟度、低完成度

一个NGINX流媒体插件,开源项目(BSD-2-),视频直播服务器,提供RTMP直播流的接收以及RTMP和HLS协议的播放。 对于有流媒体研发经验的项目团队,可以在此项目上进行扩展。 开发难度和成本仍然很高。 开发人员需要精通C语言,熟悉Nginx模块开发方法。

2)crtmp(开源)

高性能、低成熟度、低完美度

也称为 rtmpd,它在 GPLV3 下获得许可。 其主要功能是一个高性能的RTMP流媒体服务器,提供直播视频服务。 采用C++语言开发,代码结构比较清晰,可以在Linux及Linux操作系统上编译运行。 经过实际测试,并发能力良好,能够满足大部分直播应用场景。 缺点是只有直播功能,没有其他功能,比如没有录音功能。

3)Wowza(产品化,美国)

性能、高成熟度、高完善度

采用Java语言开发的流媒体服务器产品。 产品成熟,功能比较齐全。 由于是全英文版本,因此在购买、技术支持、售后方面都比较麻烦,配置也比较复杂。 宣传称可以达到10GB的吞吐能力。 经过国内爱好者实际测试,实际性能与宣传相差甚远,不推荐使用。

4)NTV Media G3(产品化,国产)

高性能、高成熟度、高完善度

北京云视锐博研发的高性能流媒体服务器产品是成熟可靠、功能齐全的产品。 他们在国内拥有庞大的客户群,售后支持成熟可靠。 C++语言开发的整体性能非常好,一台设备就可以满足大部分项目的要求。 缺点是价格偏高,应该可以议价。

5) Adob​​e Flash Media(产品化,美国)

高性能、高成熟度、高完善度

rtmp流媒体服务器鼻祖,最早也是最流行的流媒体服务器。 它在Rtmp协议的接收和广播方面做得很好。 早些年,国内很多项目都采用了这款服务器。 但随着其他竞品的崛起以及Adobe对中国市场的忽视,目前国内已经很少人用了,主要是盗版,而且支持也没有保障。

6)SRS(开源,国内)

中等性能、中等成熟度、低完整性

一个简单的国产RTMP/HLS直播服务器,在MIT协议下授权。 其核心价值理念是简单、高效。 实际结果是可以接受的。 作者可能有更好的职业规划,并没有积极更新这个项目。

标签:  流媒体服务器 rtmp 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。