视频直播系统

 

一个直播系统大概可以分为一下几个模块,媒体模块,服务模块,管理模块。


媒体模块是直播系统的技术核心,服务模块是关乎用户体验,管理模块对数据,系统进行管理控制。

2.1媒体模块

2.1.1采集

采集是直播系统中的第一环节,获取视频源。

因为iOS是软硬件种类不多,官方也提供了稳定可靠的接口,比较简单。

Android因为机型种类繁多,需要适配机型,会是很大一部分工作。

而PC也面临各种摄像头驱动,难点在于机型适配。


2.1.2前处理

前处理,主要用于图像美化,风格化,图像处理方面。

当前直播的美颜功能已不可或缺,除了秀场需求以外,在UGC内容生产方式下,大量的内容对美颜都有较高的要求。

美颜简单的可以通过美颜镜头,但局限性大,限于PC端的主播,更好的办法是通过软件实现,需要图像处理方面的人员,美颜算法需要需要用到GPU编程,要自己参考论文去研究。

难点在于美颜效果是否自然,GPU占用与效果的平衡。GPU用于高性能计算,但功耗也相对高,需要考虑到手机温度对数据采集的影响。温度过高,摄像头容易掉帧。图像处理不仅仅是美颜,在交互中可能会涉及到滤镜,人脸识别,人物风格化等,使得客户拥有更好的互动体验。

目前iOS上比较好的图像处理库是GPUImage,提供了丰富的预处理效果,也可利用该库自定义设计。

Android上也提供了功能强大的图像处理库grafika。


2.1.3编码

在编码方面,有两种编码方式,硬编码(硬件)与软编码(软件)

目前大部分硬件都支持硬编码,但在Android上存在兼容性问题,源于不同厂商的芯片差异巨大,难以构建统一的库来兼容全平台。

编码的工作主要是对视频,音频的原始数据进行编码处理,得到可用的视频,音频数据。

编码涉及一系列的技术,常用的编码方式有CBR、VBR;对于视频,常用的编码标准是H.265、H.264、MPEG-4等,可封装为MKV、AVI、MP4等;对于音频的常用编码标准有G.711μ、AAC、Opus等,封装有MP3、OGG、AAC等。

编码通过压缩音视频数据来减少数据体积,方便音视频数据的推流,拉流和存储。大大提高存储传输效率。

H.265是当前性能最高的编码技术,在相同视频质量下,相比于H.264,H.265仅需一半的带宽,使得低于1.5Mbps的网络能够传输1080p的高清视频。

在编码方面的核心是平衡分辨率、码率、帧率、GOP(Group of Pictures)使得体积与画质达到最优,参数组合为技术核心,也是个家的商业机密。


2.1.4传输

传输涉及系统的多个部分,连接主播端,服务端,客服端等多个部分。

传输效率高与否决定直播系统的性能好不好,传输是直播系统非常重要的技术核心。

下面是传输的简单示意图:<img src="https://pic3.zhimg.com/b6ec084c3254d16bf4d9f46221b8d82a_b.png" data-rawwidth="553" data-rawheight="413" class="origin_image zh-lightbox-thumb" width="553" data-original="https://pic3.zhimg.com/b6ec084c3254d16bf4d9f46221b8d82a_r.png">

从推流端到服务端。数据经过推流端采集和预处理,编码之后推流到服务端,流传输就涉及到相应的传输协议,最常用的协议是RTMP(Real Time Messaging Protocol,实时消息传送协议),RTMP是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。还有RTSP,HLS等。


RTMP的传输延迟通常在1-3秒,符合手机直播对性能的要求,因此RTMP是手机直播中最常见的传输协议。之后通过QoS(Quality of Service指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。)将流数据推送到网络端,通过CDN分发。


在直播场景中,网络不稳定很常见,需要通过QoS来保证直播体验。服务端还需要对数据流一定的处理,转码,使得数据流支持HLS,HTTP-FLV,RTMP等格式的拉流,支持一转多,适配不同网络、分辨率的终端。


推流作为视频源的传输,在稳定性速度上都比拉流高得多。实现推拉流的技术线没有雄厚的人才与资金是不现实的,通常需要依赖第三方的CDN提供商。


在实际中,大多数直播平台会接入多个视频云服务提供商,做拉流线路互备,视频集群也是可优化部分来提高直播流畅性与稳定性。


2.1.5解码,渲染

拉流获取音视频数据后,需要通过解码器解码,渲染才能在播放器上播放。

H.264和H.265是有所压缩的,在解码恢复之后是缺损的原数据。

之前提到的体积最小画质最优的编码参数,就是在这里恢复画质的,该参数组合是非常重要的技术。现在的播放器普遍都需要高清支持,解码也应选择硬解码。iOS能够较好的支持,但Android还需要很多工作去弥补Android在平台差异的缺陷。

而在播放端,保证音画同步的同时,保证稳定流畅的直播流量,需要服务端与播放端做调度优化。


2.2服务模块

服务模块涉及用户体验,从用户方的收益一部分也来自于服务模块。

系统需要完整的礼物,支付,运营,任务等系统,复杂度不亚于页游系统。

国内直播平台的营利模式决定:平台从打赏中抽成。礼物系统就成为平台的盈利方式。礼物系统是多数视频直播平台的标配。

在中国部分人有礼品消费的习惯。平台为用户主播设计多个等级、爵位等头衔。利用财富榜,家族榜,等级榜类拉动消费。

IM技术。IM即时通讯服务。包括聊天室、弹幕等。弹幕交互方式是很好的体验,偏年轻化,大量用户愿意通过弹幕互动。高峰时,弹幕消息量特别大,一是需要考虑到高峰时弹幕的实时性和高并发量,二是要在产品策略上作一些体验上的优化。

支付系统需要仔细处理各种异常,消费流水记录。

系统还需要在政策上作相应的考虑,例如国家规定所有直播必须打水印并存留15天以上。在内容审核方面,淫秽、暴力、犯罪、敏感问题的审核。在数据分析方面也需要相应的统计系统。


2.3管理模块

管理模块包括客户端的设计与维护、后台数据库、后台控制系统。

该部分根据直播平台的特性、定位设计相应的管理策略。具体技术上还包括缓存、分布式文件存储、消息队列,运维系统等等。


2.4 OBS直播软件

Open Broadcaster Software(OBS)是一款很好用的PC端直播开源软件。该软件提供了对H264 (x264) 、AAC编码的支持。支持多场景多数据源,到Twitch, YouTube等平台的LRS支持。支持输出视频,基于GPU的游戏捕捉提供高性能的视频流等等众多支持。能够很好地完成采集、编码。

以上简单地介绍了视频直播系统的技术构架,构架本身容易,但构建性能优良的构架就很有难度,需要在传输速度与效率、推流端兼容性、客户端体验上作深入的工作。


但说实话,如果仅从问题描述来看,我觉得这样的格局,对未来的生存表示担忧。

现在铺天盖地的直播,从游戏直播、到秀场、到移动端。

看似是块很大的蛋糕,但能留到最后的,一定是巨头中的其中一家。


很多初创团队,都觉得直播的市场很大,机会很多,但这个时间点入场,给初创者的时间并不多。

王思聪的熊猫TV,腾讯投资斗鱼和龙珠,最近疯狂烧钱的腾讯直播和企鹅直播,360投的花椒直播,陌陌的哈你直播、微博的一直播,金沙江投资映客,这些豪华阵容在直播的战场上厮杀的火热。


这类2C直播平台最重要的就是利用直播内容和主播人气吸引巨大的流量。

有流量就有钱进来。

这样的游戏规则下,各大2C平台就疯狂的买内容,签主播。广告狂轰乱炸,争夺江湖地位。

疯狂烧钱的同时,也只有一轮又一轮不断的融资才能生存下来。

有资本进入的地方就有对赌。

不管是2C的映客、斗鱼、熊猫,还是2B的微吼直播。

相比2C端频繁的资本大战,在2B端发展还是相对稳健。

还是以微吼直播为例,被爆已完成B轮对赌,对赌金额达7000万元人民币,有望在年内成为业内首家盈利的直播平台。


现在企业直播服务、城市直播服务的市场还是被严重低估。

尽管现在很多工作上的事情在微信里沟通、讨论。但是我们知道,选择微信,只是因为大家都在用它!只是大家都在用它!

封闭的社交环境使其在商业协作中难登大雅之堂的主因。

单从沟通介质所能承载的信息量来看:文字 < 语言 < 视频 < 面对面交流。

网络直播这种面对面的交流能够承载最丰富最真实的信息,这也让微吼直播这样的2B直播行业迎来了千载难逢的机会。


回到题主的问题,我觉得自己搭建直播平台,还不如在别人已经创造好的平台上发现新的机会。

(个人观点,人还是要有梦想的嘛。)

很多回答,已经给题主提了不少的建议。知乎上网络服务公司,响应也真是够快的,在问题的评论里,有几家也跟题主对接上了。

粗略看了下,2C和2B的都有,直播服务的大趋势就是这样。

(图片我下午拍的,2B直播调试现场)&amp;lt;img src=&quot;https://pic1.zhimg.com/8175ef459fcf85fa330ecfcb5687610c_b.png&quot; data-rawwidth=&quot;1280&quot; data-rawheight=&quot;960&quot; class=&quot;origin_image zh-lightbox-thumb&quot; width=&quot;1280&quot; data-original=&quot;https://pic1.zhimg.com/8175ef459fcf85fa330ecfcb5687610c_r.png&quot;&amp;gt;

最后,补充一句:搭建视频直播系统一定要符合中国特色。


为什么捏?


一个服务商告诉我的:

我们架的这套视频云协作系统,核心技术是思科的。

老牛逼了,海外版本预设的是,不同的人发言的时候,系统会自动判断麦克风声音方向,高清摄像头就会自动转向发言的人,并且自动优化构图。然后,系统会把发言的人放大,突出显示在现场的大屏幕上。


但引进到国内后,这套系统就被改成了:

领导的画面永远最大,并且永远在最中间…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Feelink iShow v2.1 Beta版安装说明 iShow商业用户需签署使用协议,ishow用户不得利用ishow从事涉黄涉毒及其他违反国家法律法规的活动! 免费版用户需在申请免费用户后的3个工作日内,发送<<ishow使用协议>>到 邮箱:[email protected], 否则立即停止免费授权! <<ishow使用协议>>下载地址:http://ishow.xknet.net/1.doc 功能更新 1.新增了播放录像功能,房主可在自己的房间进行设置,支持flv和mp4格式 2.新增1对1的视频私聊,在房间内,可点击用户名查看,"邀请视频私聊" 3.新增首页对推荐主播的调用 4.新增对主播直播状态的检测,主页可实时显示,主播的直播状态 5.新增了对局域网内的完全支持,在局域网内视频可在后台全局设置中设置 6.新增房间密码功能,房主可在自己房间进行设置 7.新增对视频清晰度的控制,后台全局设置中可设置,清晰度越高,耗用带宽越大,反之同理 8.优化了后台逻辑,修复众多bug 9.优化了UC整合接口 10.优化了财付通接口逻辑 11.新增一套模板 12.新增提现功能 13.新增直播缓冲广告动画 14.新增房间的直播状态监测 15.优化了系统缓存文件的逻辑 安装环境: ASP+SQLServer 安装步骤: 1.解压压缩包,将所有文件上传到服务器 2.确保自己的数据库是MsSqlServer2000或2005 3.在浏览器中输入: http://你的域名/install 4.根据提示进行安装,确保自己的网站目录有可写入权限 5.安装完毕后,如果购买的是虚拟主机,请到虚拟主机web管理系统中,设置404错误页面,如果支持自定义404地址,请填写 /i/v2/room.html,如果不支持自定义404地址,只支持根目录404.htm的空间,请复制/i/v2/room.html文件到网站根目录,并修改根目录下的room.html文件名为 404.htm 即可 6.这是网站已经可以正常访问,网站会提示到m.xknet.net进行注册,正常注册后,您的ishow网站即可开启所有功能 如果有其他问题,请到bbs.xknet.net交流 测试使用网址:http://ishow.xknet.net

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值