大家搭建直播服务是用nginx-rtmp还是srs?
一,目标: 利用开源或者免费工具实现一个直播系统;同时支持在浏览器、播放器和嵌入到 PC 应 用或者移动 APP 中观看直播。 二,技术选型: 视音频源端:: Adobe Flash Media Live Encoder 32,可以在 windows 和 mac 安装; 如果你已有一些支持
如果要算服务器所需要下行带宽,需要知道视频直播码率。一般720P的话,码率在1-2M,10路直播源需要10-20M的下行带宽。
如果要看需要多少上行带宽,那要看有多少人同时看你的这10路直播。码率 x 同时观看人数。
WebRTC经过这么多年的发展,目前已经比较成熟的协议之一,播放也比较稳定,协议也已经成为了RFC,相应的开源项目也越来越多,但是基于WebRTC协议的部署简单,性能强悍,功能强大流媒体服务器的项目还比较稀少。之前了解到的服务器比如Mediasoup,Janus,Medooze ,要么就是设计复杂,接入成本要,要么就是性能较差,还就是多种语言结合,学习成本较高。 而SRS聚焦视频相关,功能专一,语言使用了高性能的c++,并且支持Rtmp转Webrtc等其他强大的功能的媒体服务器。
1源码编译安装运行SRS
使用这个命令开启RTC支持
2SRS常用命令
3配置nginx代理
若不需要浏览器推流,可以不用设置nginx代理,使用localhost访问
注意:your 代表需要配置你自己的域名信息,由于使用浏览器推流必须使用https协议,所以我这边配置了证书
4访问配置的域名
访问nginx配置的网址 https://webrtcyourhostcom/
出现如下内容,则服务端架设成功
虽然整片文章看起来不复杂,流程很简单。但是官网的文档中的知识点比较分散,所以大家要想快速的搭建的话就参考我这篇文章
没弄过windows版的nginx,不过nginx是后台服务,肯定是不存在一直显示在页面上的。你首先看一下logs目录里日志有没有显示它正常运行了。如果日志显示已经启动了,那就没有问题了。
通过nginx搭建一个基于httpflv的直播流媒体服务器。
有必要建立以卫星为基础的无线电直播系统将诸如声音、数据和图象的信号传输到低消费的接收者那里。
卫星是指在围绕一颗行星轨道并按闭合轨道做周期性运行的天然天体,人造卫星一般亦可称为卫星,人造卫星是由人类建造,以太空飞行载具如火箭、航天飞机等发射到太空中,像天然卫星一样环绕地球或其它行星的装置。
网络直播平台的实现技术,归纳起来主要有如下这些:
一、视音频的采集和编码技术,当前主流的主要是H264、H265这种视频编码技术和AAC、MP3这种音频编码技术。
二、视音频的流媒体传输技术。
三、CDN内容分发技术。
四、终端解码技术。
架构方面,如果要做运营级的服务平台,需要采用分布式的架构方式,不仅包括各个功能模块的分布式部署,还包括各种应用服务器的分布式部署。
流媒体传输技术通常使用的方式主要包括:
1、通过HTTP协议传输,需要通过技术开发来实现高性能的HTTP流媒体服务器;
2、通过RTMP协议传输,需要通过技术开发来实现高性能的RTMP流媒体服务器;
3、通过UDP协议传输,这种方式通常用于大规模的可控网络中,比如IPTV电视直播应用,通过交换机即可支持这种传输方式;
4、通过P2P方式传输,P2P方式所用的传输协议可以由用户自主定义,并且可以基于UDP或TCP来实现,这种方式通常也是用于超大规模组网环境中。
0条评论