直播APP开发中,常用的流媒体服务器有哪些?

发布来源:云豹科技
发布人:云豹科技
2019-11-18 11:44:30

前面几篇文章中,我们提到过,在直播APP开发中,要经常用到RTSP、MMS、RTMP、HLS等流媒体协议将视频文件传输到客户端上。但是,这些协议的载体是什么?这就不得不提到流媒体服务器。

流媒体服务器的主要功能是对流媒体内容进行采集、缓存、调度和传输播放。对于直播软件来说,它主要性能的体现都取决于媒体服务器的性能和服务质量上,那么,今天我们就来聊聊,直播APP开发中,常用的流媒体服务器都有哪些?

直播APP开发

一、Nginx

Nginx,又名engine x,它可以说是直播源码搭建中最常见的流媒体服务器,因为它稳定、拥有丰富的功能集和各种示例配置文件、并且对系统资源的的消耗特别低。最大的特点是并发能力强,且占有内存少,容错率低。是构建分布式服务器集群框架的首选,除了在直播APP开发中应用广泛,而且还广泛应用于各大信息集合网站的搭建中。

二、Red5

Red5是一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,它具有流化FLV、MP3文件,实时录制客户端流为FLV文件、共享对象、实时视频播放、Remoting等功能。

但是Red5在综合性能上并不如Nginx出众,以网上某位技术人员所做的测试

为例,在直播平台上,随着用户数量的不断增长,red5完全不能再支撑起这个业务,其主要表现为:对于单一主播,当观看人数超过400人时,CPU超过90%,这里主机的配置是4核CPU,32G内存。同时,人数越多,音质、画面卡顿的情况也在不断出现,用户体验很差。因此,对于流量不大的小型直播APP,Red5是可以考虑的。

直播APP开发

三、Darwin Streaming Server

简称DSS,它是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,设计上遵循高性能、简单、模块化等程序设计原则,性能高效,可扩充性好,且支持多种流媒体协议,在市面上的应用比较广泛。

四、Kurento

Kurento是一个WebRtc媒体服务器,其中包含了一组API,开发流程相对简单,它的功能包括组通信、转码、录制、混合、广播和视听流路由,同时还提供了先进的媒体处理能力,涉及计算机视觉、视频索引、增强现实和语音分析。更为重要的是,Kurento的模块化结构能更加容易的集成第三方SDK(如语音识别、美颜萌颜等),这对直播APP开发是极为重要的。

五、crtmpserver

Crtmpserver是一个由C++语音编写的开源的RTMP流媒体服务器,它作为开源的高性能RTMP流媒体服务器,不仅可以用在x86平台的Linux服务器、Windows服务器,还可以被用在arm等嵌入式平台上,它代码结构良好,类的继承体系清楚,代码效率高。但是它的缺点也很明显,就是功能比较单一。

以上,就是直播APP开发中,常用的流媒体服务器。如果您对直播软件开发感兴趣,欢迎咨询官方客服。

 本文章声明原创,转载请注明出自云豹科技www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任