局域网环境下的直播平台(校园电视台)搭建之路
Posted zhiboshequ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了局域网环境下的直播平台(校园电视台)搭建之路相关的知识,希望对你有一定的参考价值。
近些年,随着互联网视频的普及,各个行业都在通过视频这种流行的方式来发布内容,生动、直观这是它的天生优势。
作为学校里的一名信息中心老师,领导发话也要模仿兄弟单位建立我校自己的视频门户,用来把学校发生的新鲜事、学校师生的荣誉、优秀学生的事迹、还有领导的重要指示精神,都想用视频这种新鲜的方式去呈现,让人们更关注,更喜欢。
说实话,虽然自己从事信息技术和多媒体已经有8年多时间,对摄像、视频编辑、美术设计都还算熟悉,也通过社会化视频平台做过直播,比如(优酷、花椒、微博、一直播)等,但是自己去搭建这种平台还是头一次,也是一头雾水。
本着对领导负责的态度,我开始潜心研究和学习,开始,我自己设计了一个简单的网站,将摄像机的视频采集后推送到了微博视频平台,然后将微博的播放地址嵌入到自己的网站上,以为这样万事大吉。测试后发现,收看的人数达到50人以上就异常卡顿,最终找到了原因,是因为学校的公网出口太窄导致的,学校总的公网出口只有100Mb/s,720P的直播50人收看就把带宽跑满了。看来,需要在校内搭建自己的发布服务器才能最终解决这个问题。
沿着这个思路,我开始寻找自己的解决方案,幸运的是,由于自己常年在CSDN上啃食着知识,也在这里找到了解决问题的办法,是一个版主的博文帮我打开了思想的大门。在这里,我找到了串流直播这款专业的免费直播软件,同时,还测试了VLC、FFMPEG、OBS这几款免费的直播采集编码工具,相比较下来,我觉得串流直播这个软件做的是最好的,下面是我自己的测试结果。
软件名称 | 功能完整性 | 稳定性 | 性能 | 易用性 |
FFMPEG | 完整 | 极不稳定 | 很差,占用资源比较高 | 最差 全部为命令行方式操作 |
VLC | 一般 | 极不稳定 | 很差,占用资源比较高 | 一般 |
OBS | 相对完整 仅支持H.264视频编码和RTMP推流发布 | 一般 | 一般,做了部分优化设计 | 一般 有图形化界面,但是设计不是很人性化 |
串流直播 | 很完整 支持H.264/H.265 /MPEG-4/MPEG-2多种视频编码; 支持AAC/HE-AAC/MP3多种音频编码 支持TS/MP4/FLV/F4V /MOV多种录制格式 支持UDP/RTSP/RTMP /HTTP多种发布协议 支持组播加密,字幕/台标叠加,图像处理 支持硬件加速编码 | 很稳定 | 很高 占用CPU和内存资源都很低 | 易用 有图形化操作界面 人性化设计 功能直观,操作简单
|
至此,直播节目采集处理的工作已经完成,但是,为了能够将节目发布出去在网页端进行呈现,还需要搭建流媒体服务器来提供支撑,为此我查阅了大量资料,又在互联网上进行疯狂检索,为此我反复测试了不下十五个流媒体平台软件,之所以要做这么多工作,主要是奔着为学校省钱的目的(小地方的学习,经济比较寒酸^-^),其次,也是为自己充充电,通过这次实践,我发现自己学会了好多流媒体方面的知识。
整个测试工作异常艰辛(主要因为无人指点全靠自学,还有就是要搭建各种测试环境),为此我几乎调用了学校所有的网络资源,包括服务器、交换机、防火墙、教师机等,期间我做了服务器压力测试、带宽压力测试、组播功能测试、单播功能测试、终端解码能力测试、多码流自适应播放测试、音视频同步性测试、直播延时测试、大并发稳定性测试(包括服务器平台稳定性和校园网稳定性)等诸多测试工作。
下面是我对这些测试结果的一个记录和总结:
软件名称 比较项 | iAVCastMediaServer (串流媒体服务器) | Red5 | nginx-RTMP模块 | Wowza | Adobe AMS5 Extended |
开发语言 | C++ | Java | C++ | Java | C++ |
单播并发性能 (以2Mbps视频为例) | 5000并发 | 300并发 | 1000并发 | 300并发 | 500并发 |
支持的操作系统平台 | Linux/Windows | Linux Windows | Linux | Linux Windows | Linux Windows |
稳定性 | 非常稳定 | 一般 | 稳定 | 一般 | 稳定 |
易用性 | 强,有直观的图形化操作界面 | 差 | 一般 | 差 | 一般 |
支持的输出协议类型 | RTMP HTTP HLS DASH RTSP | RTMP RTMPT RTMPS RTMPE RTSP | RTMP HLS | HLS RTMP DASH RTSP | RTMP RTMPT RTMPS RTMPE RTMFP HLS |
直播/点播功能 | 支持 | 支持 | 支持 | 支持 | 支持 |
直播录制 | 支持录制为MP4、FLV 支持最大录像文件尺寸限制;支持最大录制时长限制 | 录制为FLV | 录制为FLV | 支持录制为MP4、FLV | 支持录制为MP4 |
多码流自适应 | 支持RTMP/HLS/DASH多码流自适应 | 不支持 | 不支持 | 支持RTMP/HLS/DASH多码流自适应 | 支持HDS多码流自适应 |
缩略图和播放预览图自动提取 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
直播流转发 | 支持 | 不支持 | 支持 | 支持 | 支持 |
直播流分发 | 支持 | 不支持 | 支持 | 支持 | 支持 |
多服务器负载均衡 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
直播录像自动入库 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
图形化监控 | 支持 | 不支持 | 不支持 | 不支持 | 支持 |
点播节目批量入库 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
支持的播放终端类型 | PC | PC | PC | PC | |
内容管理系统 | 有 | 无 要自己开发 | 无 要自己开发 | 无 要自己开发 | 无 要自己开发 |
多终端内容呈现 | 有 支持PC/手机/机顶盒 | 无 要自主开发 | 无 要自己开发 | 无 要自己开发 | 无 要自己开发 |
多终端自动适配 (码流和协议) | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
开源/收费标准 | 不开源 6万元/实例(流媒体系统) 4万元/实例(内容管理系统) | 开源 免费 | 开源 免费 | 不开源1995美元/实例 | 不开源 6000美元/ 实例 |
技术支持和服务 | 官方提供完善的 技术支持,能提供 上门安装和培训 | 无 | 无 | 线上社区提供,只能用英文交流 | 线上社区提供,只能用英文交流 |
以上测试工作完成后,根据以上多个平台的特性,我把我们学校自身的需求也做了一下梳理:
- 我们这所职业学校有5千多名师生,因此活动直播时需要平台支持5000并发收看;
- 学校信息中心维护人员比较少,懂流媒体技术的人员只有我一个,而且我还要身兼数职,所以需要一个稳定可靠,操作简单并且维护方便的平台,交给普通技术人员去维护;
- 我们自己没有软件开发能力,对流媒体和内容管理平台开发都一无所知,是否开源对我们不重要,我们只想要一个功能完整的系统,装好就能用;
- 我们需要平台支持PC端和智能手机端播放;
- 我们需要直播节目可以自动录制下来,并且自动生成可以回放的节目;
- 需要支持多服务器负载均衡,用来满足未来更大的并发用户量;
- 最好能支持多码流发布和多终端适配,给手机端自动分发低分辨率/低码流的内容来降低网络带宽压力;
- 需要在出现问题的时候能有人提供及时的技术支持;
然后,我将我们自身的需求与以上几个不同平台的特性做了一下比较,以下是比较后的结果:
在技术实现上:
1.“串流媒体服务器”最符合我们的使用要求,用1台服务器就可以满足需要;
2.“Wowza”和“FMS”基本上也都具备主要功能,但是还需要自己找人开发内容管理系统和前台网站,这对我们来说是比较头痛的事情。
3.使用“Wowza”这个系统需要部署12台服务器,使用“FMS”系统需要部署10台服务器;
在成本方面:
- 使用“串流媒体服务器”系统,需要花费10万元购买流媒体软件和内容管理发布平台软件,需要花费3万元购买1台Dell R730服务器,总费用13万元;
- 使用“Wowza”系统,需要花费12 x $1995 = 16.5万元(人民币)购买软件,需要花费12 x 3万元 = 36万元购买12台Dell R730服务器,需要花费至少8万元找人开发内容管理和发布平台,总费用60.5万元;
- 使用“FMS”系统,需要花费10 x $6000 = 41.4万元(人民币)购买软件,需要花费10 x 3万元 = 30万元购买10台Dell R730服务器,需要花费至少8万元找人开发内容管理和发布平台,总费用79.4万元;
我把以上实际情况汇报给学校领导,领导基于节省成本的目的选择了“串流媒体服务器”这个平台,并对我所做的工作给予了表扬(心中窃喜~_~,说不定以后评职称会有用呢)
接下来,我找了学校机房里一台空闲的Dell R720旧服务器进行部署测试,很快,在厂商的远程配合下,我用了2天时间就把一个完整的平台搭建起来了,直播、点播、内容管理后台、内容发布前台等功能都一应俱全,和“优酷”网站差不多。而且,最让我出乎意料的是,整个平台的内容播放都不需要安装Flash播放器,PC端网站和手机端播放都使用html5技术,终于提前告别了烦人的Flash播放器(目前很多流媒体默认都不启用对它的支持了)。
下面是我的劳动成果,炫耀一下^-^
首页
节目回看页面
直播收看与互动
采集编码端控制台画面
四个码流同步直播
最后,非常感谢那些在我学习的过程中给予我灵感和帮助的那些版本,
下面是我参考过的相关文章链接:
https://blog.csdn.net/zhiboshequ/article/details/54023521
https://blog.csdn.net/zhiboshequ/article/details/54388346
https://blog.csdn.net/zhiboshequ/article/details/79865850
https://blog.csdn.net/ababab12345/article/details/52416310
https://www.cnblogs.com/georgewangii/p/4509818.html
https://blog.csdn.net/educast/article/details/81772184
========================================================================
原文链接:
https://blog.csdn.net/lovemycountry/article/details/90749141
以上是关于局域网环境下的直播平台(校园电视台)搭建之路的主要内容,如果未能解决你的问题,请参考以下文章