运营级的互联网直播服务器集群架设搞定这一个开源项目就够了_第1页
运营级的互联网直播服务器集群架设搞定这一个开源项目就够了_第2页
运营级的互联网直播服务器集群架设搞定这一个开源项目就够了_第3页
运营级的互联网直播服务器集群架设搞定这一个开源项目就够了_第4页
运营级的互联网直播服务器集群架设搞定这一个开源项目就够了_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、运营级的互联网直播服务器集群架设,搞定这一个开源项目就够了!目录:一、应用场景二、srs开源直播框架介绍三、官 方说明文档四、基于rtmp协议开源直播平台搭建五、直播技 术常见问题解决思路六、黑色小幽默一、应用场景1、虚拟 直播:将文件编码为直播流。可以指定多个文件后,SRS会 循环播放。2、RTSP摄像头对接:以前安防摄像头都支持访 问RTSP地址,RTSP无法在互联网播放。可以将RTSP采集 后,以RTMP推送到SRS。3、直接采集设备:SRS采集功 能可以作为编码器采集设备上的未压缩图像数据,譬如 video4linux和alsa设备,编码为h264/aac后输出RTMP到 SRS。4、

2、将HTTP流采集为RTMP:有些老的设备,能输出 HTTP的ts或FLV流,可以采集后转封装为RTMP,支持 HLS输出。总之,采集的应用场景主要是“SRS拉流”,能 拉任意的流,只要ffmpeg支持;不是h264/aac都没有关系, ffmpeg能转码。SRS默认是支持“推流”,即等待编码器推 流上来,可以是专门的编码设备,FMLE,ffmpeg,xsplit, flash等等。如此,SRS的接入方式可以是“推流到SRS”和 “SRS主动拉流”。二、srs开源直播框架介绍项目地址: HYPERLINK /ossrs/srs/SRS%e5%ae%9a%e4%bd%8d%e6%98%af%e8%

3、bf%90%e8%90%a5%e7%ba%a7%e7%9a%84%e4%ba%92%e8%81%94%e7%bd%91%e7%9b%b4%e6%92%ad /ossrs/srs/SRS定位是运营级的互联网直播 服务器集群,追求更好的概念完整性和最简单实现的代码。通过官方广告的描述,SRS超级强,无所不能秒杀其他同类 媒体服务器。运营级:商业运营追求极高的稳定性,良好的 系统对接,以及错误排查和处理机制。譬如日志文件格式, reload,系统HTTP接口,提供init.d脚本,转发,转码,边 缘回多源站,都是根据CDN运营经验作为判断这些功能作 为核心的依据。互联网:互联网最大的特征是变化,唯一

4、不 变的就是不断变化的客户要求,唯一不变的是基础结构的概 念完整性和简洁性。互联网还意味着参与性,听取用户的需 求和变更,持续改进和维护。直播服务器:直播和点播这两 种截然不同的业务类型,导致架构和目标完全不一致,从运 营的设备组,应对的挑战都完全不同。两种都支持只能说明 没有重心,或者低估了代价。集群:FMS(AMS)的集群还是 很不错的,虽然在运营容错很差。SRS支持完善的直播集群, Vhost分为源站和边缘,容错支持多源站切换、测速、可追 溯日志等,并且友好的支持CDN和服务器的灵活架设概念 完整性:虽然代码甚至结构都在变化,但是结构的概念完整 性是一直追求的目标。从SRS服务器,P2P

5、,ARM监控产业, MIPS路由器,服务器监控管理,ARM智能手机,SRS的规 模不再是一个服务器而已。简单实现:对于过于复杂的实现, 宁可不加入这个功能,也不牺牲前面提到的要求。对于已经 实现的功能的代码,总会在一个版本release前给予充分的时 间来找出最简答案。不求最高性能,最优雅,最牛逼,但求 最简单易懂。文档齐全、demo齐全。具备基本的权限验证, 可以限制推流和播放的权限。推流、Ingest流、直接接入视 频文件等方式,非常灵活。如果再结合开源的组件,如OBS 则几乎目前市场上主流的流媒体直播需求就都能满足了。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送 RTMP

6、到 SRS、推送 RTSP/UDP/FLV 到 SRS、拉取流到 SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP 流转码、流截图、转发给其他服务器、转封装成HTTP-FLV 流、转封装成HLS、转封装成HDS、录制成FLV。SRS包 含支大规模集群如CDN业务的关键特性,譬如RTMP多级 集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV 集群、Kafka对接。此外,SRS还提供丰富的应用接口,包 括 HTTP 回调、安全策略 Security、HTTP API接口、RTMP 测速。三、官方说明文档1、SRS OverviewSRS定位是运营 级的互联网

7、直播服务器集群,追求更好的概念完整性和最简 单实现的代码。SRS提供了丰富的接入方案将RTMP流接入 SRS,包括推送RTMP到SRS、拉取流到SRS。SRS还支持 将接入的RTMP流进行各种变换,譬如直播流转码、转发给 其他服务器、转封装成HLS、录制成FLV。SRS包含支大规 模集群如CDN业务的关键特性,譬如RTMP多级集群、 VHOST虚拟服务器、无中断服务Reload。此外,SRS还提 供丰富的应用接口,包括HTTP回调、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications o 2、DownloadingSRS发布版本提供安装包下载

8、, 请访问。若您需要自己编译SRS,请参考编译SRS。 SRS主要运行在Linux系统上,譬如Centos和Ubuntu,包括 x86、x86-64、ARM和MIPS。MacOS支持代码编辑和编译。 其他Unix-like系统不支持,SRS也不支持 Windows系统。SRS的系统偏好主要是由于state-threads导致的,它极大的 简化了服务器在复杂协议的处理。SRS可以在一台服务器上 运行集群,或者在多台服务器上也可以运行集群。SRS是单 进程模型,不支持多进程。3、Where to Go from HereUser Guides:Quick Start:使用SRS的主要功能的快速手册

9、。您应 该从这个文章入手。Why SRS:为何选择SRS? SRS的路线 图? GIT Mirrors: SRS在各个主要GIT站点的镜像,代码都 是保持同步的。Main Features: SRS的功能列表。请注意有些 功能只有特定的版本才有。请注意有些功能是实验性的。Releases: SRS目前已经发布的版本。Docs: SRS的详细文档。Deployment Guides:Delivery RTMP:如何部署 SRS 提供 RTMP服务。Delivery HLS:如何部署SRS提供RTMP和HLS 服务。Transcode:如何部署SRS对直播流转码。Forward:如 何部署SRS转

10、发RTMP流到其他服务器。Low latency:如何 部署SRS为低延迟模式。Ingest:如何将其他流拉到SRS作 为RTMP流。HTTP Server:如何部署SRS为HTTP服务器。SRS DEMO:如何启动SRS的DEMO。Projects:都有谁在使 用 SRS。Setup: SRS 安装和部署摘要。Cluster Guides:RTMP Cluster:如何部署RTMP分发集群,譬如CDN支持RTMP 分发。VHOST:如何一个集群支持多个用户,即VhostoReload: 如何不中断服务的前提下应用新的配置,即Reloado Tracable Log:如何在集群中追溯错误和日志

11、,基于连接的日志,排错 日志。Integration Guides:HTTP Callback:使用 HTTP 回调侦 听SRS的事件。HTTP API:使用SRS的HTTP API获取数据。 RTMP Bandwidth:使用SRS测速接口获取带宽数据。Benchmarks:Performance: SRS 的性能测试报告。原文: HYPERLINK /ossrs/srs/wiki/v1_CN_Home /ossrs/srs/wiki/v1_CN_Home 四、基于 rtmp 协议开源直播平台搭建1、服务器srs运营级的互联网直播 服务器集群 并发7.5k,支持多种转码,RTMP-HLS,R

12、TMP-FLV等,支持 HTTP 回调,RTMP0.1s 延 时 HYPERLINK /wenjiegit/srs2%e3%80%81iOS /wenjiegit/srs2、iOS 端-推流LMLiveStreamingH264,AAC 硬编,GPUImage 美颜,rtmp/flv 传输,平滑丢帧,动态码率 HYPERLINK /chenliming777/LMLiveStreaming3%e3%80%81iOS /chenliming777/LMLiveStreaming3、iOS 端- 拉流ijkplayer基于ffmpeg,支持硬解 HYPERLINK /Bilibili/ijkpla

13、yer/tree/master/ios4%e3%80%81android /Bilibili/ijkplayer/tree/master/ios4、android 端 -推流 yaseaH264,AAC 硬编,rtmp 传输,Portrait/landscape 切换,前后摄像头切换,支持MP4转码录制 HYPERLINK /begeekmyfriend/yasea5%e3%80%81android /begeekmyfriend/yasea5、android 端-拉流 ijkplayer五、直播技术常见问题解决思路1、1M带宽到底能 承受多少直播拉、推流?客户端码率=带宽服务器码率=带 宽*

14、人 1Mbps = 800kbpsx1.281M 带宽支持 1.28 个 800k 的码 率的端。2、客户端网络状态差怎么处理?方法1:自适应码 率方法2:重连(推流端、拉流端)3、带宽不够怎么办? 方法1、更高压缩率h265 / vp9。方法2、srs集群。方法3、 用edge服务器,推流推到origin,拉流从edge走,origin和 edge之间走内网。 HYPERLINK /ossrs/srs/wiki/v2_CN_EdgeEdge /ossrs/srs/wiki/v2_CN_EdgeEdge 的主要应用 场景:CDN/VDN大规模集群,客户众多流众多需要按需回 源。小规模集群,但是流比较多,需要按需回源。骨干带宽 低,边缘服务器强悍,可以使用多层edge,降低上层BGP 带宽。方法4、用ossfs cdn走cdn的带宽,oss的流量,好处 是cdn比ecs的流量便宜,oss的存储比ecs的便宜。srs的生 成路径写到oss,拉流走cdn的流量,推流走ecs的流量。ossfs 能像传统磁盘一样,把阿里云OSS挂在到本地主机上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论