专栏首页eguid开源技术分享从零开始开发和搭建直播平台-教程汇总篇

从零开始开发和搭建直播平台-教程汇总篇

写在开始之前

之前也分享过不少零散的技术文章,包括音视频、图像处理和流媒体服务相关的技术都略有涉猎。但是,都写得比较偏具体功能的实现,不够系统。因此也让很多读者产生迷惑和不解。需要读者对流媒体相关的架构和知识有一定的了解之后才能上手。

对于开发者而言,这些都还好说。但是对于非技术型读者来说,可以说是直接劝退了,因此本系列文章分为面向开发者得技术向非技术向两种教程分别更新,对于“非技术向”系列教程将不会出现代码编写,力求通俗易懂;对于开发者得“技术向”系列教程将会出现大量得代码开发和优化教程。

本系列文章将以具体的应用场景作为实战教程,系统的讲解整个直播平台的架构是如何设计的,如何开发这些子系统或者模块功能,从而搭建一套完整的直播平台。

补充:本教程也适用于视频会议视频监控等应用场景。视频会议与直播中的连麦原理是相同的,视频监控与直播平台的差别是没有主动推流端,多了拉流或者转流端。

直播平台结构

为了防止出现盲人摸象的问题。以我们将由面到点的从整体了解整个直播平台的结构,然后把这个面分解成一个个子系统或者具体模块功能,这样,我们才能够清晰的了解直播平台下每个系统模块的功能是做什么的,如何运行的。

最简单的直播平台结构:

事实上我们只要搭建了流媒体服务,就已经完成最简单的直播平台了。剩下的就是等直播UP主推流,然后用户观看就可以了,是不是很简单。

当然了,光是这样还不行,用户不知道如何获取和播放你得直播地址,直播UP主也不知道往哪里推流,直播平台就是帮助用户显示直播UP主的房间,方便筛选和观看,也方便用户发弹幕能够和正在直播的up主交流。至于直播UP主这块的推流,还是需要知道直播地址并使用OBS等推流工具进行推流才可以直播。

CDN分发: 为什么会用到CDN分发,这是因为使用直播平台观看直播的用户多了以后出现了一个重大问题,那就是带宽不够了。

举个例子:假设你只有一个直播UP主在推一路1080P高清直播,码率是4Mbps/s(每秒512KB),现在有一千个用户同时在观看,每个用户拉流也是4Mbps/s(每秒512KB),那么一千人同时就需要4000Mbp/s(每秒500MB的实时流量)的带宽,也就是说不到三千的用户就需要一万兆的带宽了。

怎么办?可想而知,光靠带宽硬抗肯定是不现实的。而且国内带宽费用可不便宜。所以这时候需要CDN来帮助缓解流媒体中心服务器的带宽压力了,CDN分发一般会按照流量收费,天下没有免费的午餐。 这时候直播平台的结构变成了这样:

推流端

推流端一般使用的软件是OBS推流工具。这个工具就不多赘述了,用的实在很广泛。 当然了,对于开发者而言,肯定需要的是FFmpegopencv了,FFmpeg是做音视频编码推流,opencv当然是用来实现美颜

流媒体服务

流媒体服务就是实时视频的中转站。 流媒体服务一般而言:nginxsrsred5等等,这个系列的后续教程会主要涉及nginxsrs

拉流播放端

PC端:VLC web端:videojs,flv.js,hls.js,ckplayer等等 移动端:ijkplayer 微信小程序:最好用企鹅云的播放,否则会出现兼容性问题,亲测只有企鹅自己的网页播放器才可以同时兼容QQ微信小程序和公众号。

系列教程后续会主要使用VLC测试拉流播放,虽然VLC延迟很大,但是兼容性是最好的,网页端测试主要使用videojs和flv.js以及企鹅的播放器

CDN分发

很多CDN服务商都支持rtmp,flv,hls等流媒体的分发,由于涉及具体厂家,不打广告,这里就不列举了。

下一章

从零开始开发和搭建直播平台-流媒体服务搭建之1-nginx流媒体服务搭建 从零开始开发和搭建直播平台-流媒体服务搭建之2-srs流媒体服务搭建

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • javaCV开发详解之补充篇:根据视频时间戳同步播放图像画面以及视频倍速播放实现

    不管是推流还是拉流,还是摄像头抓取抑或是屏幕画面抓取都需要对视频画面进行预览播放,查看视频实际播放效果,之前我们都是根据帧率简单的通过Thread.sleep(...

    eguid
  • 关于直播视频平台与监控视频平台技术架构方案的一点小想法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    eguid
  • Lucene全文搜索之分词器:使用IK Analyzer中文分词器(修改IK Analyzer源码使其支持lucene5.5.x)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    eguid
  • 完整的直播平台开发完成后,搭建时需要哪些准备工作?

    直播平台搭建,首要任务就是找到一款优质的直播系统源码,直播系统源码开发原理比其他软件更加复杂,而且相对于技术以及其他方面都会有一定的要求。直播系统源码的开发需要...

    布谷安妮
  • 直播杜蕾斯之后,我们来谈谈直播平台今年的发展方向

    4月26日晚上,擅长互联网营销的杜蕾斯又策划了一次事件,与某平台合作直播百人试戴杜蕾斯,这一活动备受争议,今早相关视频已被下架,直播平台不断挑战底线的营销行为引...

    罗超频道
  • 多点出击,视频直播软件开发市场前景如何

    网络视频直播市场已经在国内形成稳定产业,但随着用户流量红利的逐渐衰退,“全民直播”的景象恐怕不会再出现了,当然受影响的还有视频直播软件开发市场。愈发完善的视频直...

    q3557873521
  • 腾讯云推出快直播方案,低延迟打造极致直播观看体验

    近日,腾讯云推出快直播LEB (Live Event Broadcasting)方案,该方案是标准直播在超低延迟播放场景下的延伸,为观众提供毫秒级延迟的极致直...

    腾讯云视频
  • 直播源码系统如何实现流量变现转化模式?

    从16年开始有众多的企业加入了在线直播平台搭建的大军,经过几年的沉淀,直播网站市场并没有被消沉,反而进化、简化成新的“直播+”模式,电子商务的结合下更凸显优势,...

    布谷安妮
  • 直播源码模式的发展趋势及其分析

    直播源码系统形式从内容和功能上具备的多样化为个人主播、企业都提供更多的流量变现机会,直播行业从某个方面来说既推动了智能手机性能发展,也推动了互联网市场发展方向。...

    布谷安妮
  • “直播+”模式下的直播系统开发需要注意什么问题?

    “直播+”模式是指将直播系统开发与其它领域或者行业相结合,从而打造更真实的互动场景、输出更优质的视频内容来吸引用户、进行业务转化的模式。在企业的种种求生手段中,...

    布谷安妮

扫码关注云+社区

领取腾讯云代金券