政治文化研究网

玩网络电视?--- 自建直播(点播)服务

网络视点 2022-04-12 08:2887网络整理政治文化研究网

最近,笔者帮朋友举办了一场直播讲座。折腾了几天,不仅达到了目的,还支持多台节目多机直播,自动为观众分配直播源。哈哈哈哈,这不就是一个网络电视台吗?能破作者牛13。

好的,既然是通过网络学习的,参考了很多朋友的文章,终于得到了一些成果,那我就记录分享一下作者的成果,写一篇文章。

本文首发于作者自己的网站,在注明原作者和原始出处的情况下,允许转载本文。

标签: VPS LIVE RTMP HLS Nginx 流媒体直播 VOD 云主机

前提:为什么要创建自己的直播平台?网上有很多现成的平台,为什么不用呢?提出需求的原因是,在微信群等基本手段无法满足需求的情况下,某艺圈的朋友提出了邀请前辈进行视频授课的需求。我们一半的演讲者和听众来自中国大陆,其余的则分布在多个时区。事实上,斗鱼、抖音等直播平台都是分部运营的。而且申请大陆地区开设的直播间比较冗长繁琐,而且申请者是非大陆居民。其实对于几位不在中国的演讲者来说,还有其他有用的直播平台,可惜这些平台在大陆无法访问。

内容

一:资源准备

2:直播点播技术介绍

三:简单的直播设置

四:高级直播

五:视频等问题

==========================

一:资源准备

首先,要做一个互联网电视台,要实现直播或点播服务,必须要有网络服务器。作者使用了几个VPS来实现。由于不是土豪,手上的VPS也不算太高调,而且存储空间有限,所以成本很低。这次一共使用了5台主机来实现多机直播,但初期只需要一台。主机配置不能太低,至少需要1G内存,CPU也不能太差。瓦工和Vultr的vps提供的CPU还是可以接受的。但是要注意GCE和阿里的最低价——爆性能cpu不适合这个直播,很容易触到性能警戒线。

对于存储空间要求,这取决于您要存储多少。如果只做基础直播,可以有10G空闲空间存储视频(记得及时传输清理)。如果你想开电影院,你需要准备一个大硬盘。

最后,还有网络带宽和流量的问题。如果以 720p 和 25 帧率直播,平均上传带宽至少为每秒 300KB,与观众端大致相同。(注意这里使用的是HLS播放模式,不是rtmp广播,原因后面会详细解释。)也就是说10个人,下行带宽需要300*10*8Kbps,大约24Mbps。(注意 KB 和 Kbps 之间的区别)。事实上,由于数据编码的容量弹性,加上我们必须使用http或https来提供传输,会消耗一定的打包流量,所以下行总带宽至少要28Mbps才能基本保证稳定观看。如果要承载100个观众,下行带宽需要保证250Mbps以上。我们知道大部分vps业务提供的网络接口都是千兆或者10G的网络,看来网络下行速率不是问题。但这都是共享带宽,几乎每个主机都不能保证持续的高带宽输出。至少在瓦工的主机上,几乎不可能做到200Mbps的稳定输出(短时间内)。因此,为了承载大量的受众,需要多台主机进行负载均衡。最后,我们来谈谈交通。简单来说就是一路上N下。一般主机公司只计算下行流量。目前只计算双向流量,vultr只计算单向流量。上面我们说的300KB是一路直播,每小时1GB左右的流量,10个人是10GB。请考虑您自己的数据包。

2:直播点播技术介绍

RTMP网络电视点播系统,全称Real Time Messaging Protocol,是实时消息传递协议。Adobe 用于在 Flash 播放器和服务器之间传输音频和视频数据的专有协议。

HTTP-FLV 依靠 MIME 的特性,根据协议中的 Content-Type 选择相应的程序来处理相应的内容,从而可以通过 HTTP 传输流媒体。与 RTMP 协议相比,HTTP-FLV 可以更好地穿透防火墙。它基于HTTP/80传输,可以有效避免被防火墙拦截。不过受flash市场萎缩的影响,各大浏览器厂商都在逐步取消对flash的支持。http-flv技术前景堪忧。