其次,既然要在高并发、高清晰度的情况下仍能保持流畅,CDN分发网络也是必不可少的。只是,在题主提出的条件下,不论选择的是主流云服务还是大型IDC的CDN,租赁费用和流量、带宽费用都相当可观。至于自建,费用就更加高昂,而且对部署、兼容性的要求会更高,平台、资金不到一定的规模的话还是先不考虑。
接着是系统安装和网络架构的部署,花钱、花时间。这里就不详细展开。
到了软件这块,要考虑适配性。现在的直播平台都要求适配PC和移动端(iOS、Android),移动端要有相应的App。这个时候就需要找相应的iOS/Android应用开发者去搭建这个App,还得考虑美颜、混音等附加功能的前处理流程对手机的影响(性能、稳定性、耗电量、网络等多个因素的平衡,需要资历相对深厚、懂得前处理和编码原理的开发者去做)。如果还要接入微博、微信等主流社交网络,或者实现其它需要调用应用或者接口的功能,还得做一套相对完整的API接口和SDK,这又是一项不小的工程。
OK,直播平台搭好了,经过一轮调试和内测没问题、可以上线运营,就转入到后续运维阶段。不论是自己做还是别人做,都不是件轻松的事。当然最简单的办法就是找一个靠谱的源码服务商,买套源码,可以免费提供搭建的服务你是想问直播回看生成失败,直播中网速不理想或手机性能较低怎么办吧。
直播时提示当前网络较差或回看失败,建议改善网络或手动降低清晰度。
也可能是你们那个地区连不上直播服务器,直播服务器跟d幕服务器是分开的,用换个节点试试。
移动直播行业的火热会在很长一段时间内持续,通过和各行业的整合,从而成为具有无限可能性的行业。主要因为以下三个原因:
第一,移动直播的UGC生产模式比PC端的直播更明显,人人都有设备,随时随地开播,完全顺应了互联网时代的开放性原则,能刺激更多人去创造和传播优质内容。
第二,网络带宽和速度在逐渐提高,网络成本在逐渐下降,为移动直播提供一个极佳的发展环境。文字、声音、视频、游戏等都会在移动直播中呈现,创造出更加丰富的用户体验。直播可以以SDK的形式接入到自己的应用中,比如,教育领域中的课后辅导完全可以以直播的形式开展业务、电商也可借助直播让用户挑选商品,促进销售。
第三,一个与VR/AR技术相结合的移动直播为整个行业的未来提供了新的发展空间。VR/AR直播能够让用户身临其境,带动主播与观众更贴切真实的互动,大大提高平台的用户参与度。
当下,有技术实力和流量优势的互联网从业者都不愿错过直播这个风口,如何快速搭建一个直播系统成了大家关心的问题,我想和大家分享下我的经验。我从事于一家直播产品开发商,我们的产品为了快速赶上市场,并没有自己完全去自己做,而是使用了趣拍云服务提供的直播SDK。
从业者都知道,一个完整直播产品应该包含以下环节:推流端(采集、前处理、编码、推流),服务端处理(转码、录制、截图、鉴黄),播放器(拉流、解码、渲染)、互动系统(聊天室、礼物系统、赞)。下面我就一一讲述下直播SDK在各个环节所做的工作。
一、移动直播推流端需要做哪些工作?
直播推流端即主播端,主要通过手机摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到CDN进行分发。
1、采集
移动直播SDK通过手机摄像头和麦克风直接采集音视频数据。其中,视频采样数据一般采用RGB或YUV格式、音频采样数据一般采用PCM格式。采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率。
2、前处理
在这个环节主要处理美颜、水印、模糊等效果。美颜功能几乎是直播的标配功能。我们调研中发现太多case是因为没有美颜功能被抛弃使用的。另外国家明确提出了,所有直播都必须打有水印并回放留存15天以上。
美颜实际上是通过算法去识别图像中的皮肤部分,对皮肤区域进行色值调整。通过颜色对比找到皮肤区域,可以进行色值调整、添加白色图层或调整透明度等来等来达到美白效果。在美颜处理方面,最著名的GPUImage提供了丰富的效果,同时可以支持iOS和Android,支持自己写算法实现自己最理性的效果。GPUImage内置了120多种常见滤镜效果,添加滤镜只需要简单调用几行代码就可以了。
3、编码
为了便于手机视频的推流、拉流以及存储,通常采用视频编码压缩技术来减少视频的体积,现在比较常用的视频编码是H264。在音频方面,比较常用的是用AAC编码格式,其它如MP3、WMA也是可选方案。视频经过编码压缩大大提高了视频的存储和传输效率,当然,经过压缩后的视频在播放时必须进行解码。
相较于之前的H264,2012年诞生的H265编解码标准有了相当大的改善,做到了仅需要原来一半带宽即可播放相同质量的视频,低于15Mbps的网络也能传输1080p的高清视频。像阿里云、金山云都在推自己的H265编解码技术,随着直播的快速发展和对带宽的依赖,H265编解码技术已有全面取代H264的趋势。
H264和H265个模块技术差异:
另外,硬件编码已经成为移动直播的首选方案,软编码处理在720p以上的视频颓势非常明显。在iOS平台上硬件编码的兼容性比较好,可以直接采用,但在Android平台上,MediaCodec编码器针对不同的芯片平台表现差异还是非常大的,要完全实现全平台兼容的成本还是非常高的。
4、推流
要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1_3秒,对于移动直播这种实时性要求非常高的场景,RTMP也成为移动直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。在直播场景中,网络不稳定是非常常见的,这时就需要Qos来保证网络不稳情况下的用户观看直播的体验,通常是通过主播端和播放端设置缓存,让码率均匀。另外,针对实时变化的网络状况,动态码率和帧率也是最常用的策略。
当然,在网络传输方面全部自己来做基本不现实,找提供推流服务的CDN服务商提供解决方案是最好的选择,可参考文章开头介绍的云视频服务商。据了解,阿里云是国内唯一能自研CDN缓存服务器的厂商,性能非常有保障。当然,大多数直播平台都会同时接入多个视频云服务提供商,这样可以做拉流线路互备,对推流后视频集群再进行优化也可提高直播的流畅性和稳定性。
二、服务端处理需要做哪些工作?
要想适配各终端和平台,服务端还需要对流进行转码,如支持RTMP、HLS、FLV等格式拉流,支持一路转多路适配不同网络和分辨率的终端设备。
1、截图、录制、水印
像阿里云等云服务商都提供了实时转码技术,将用户推流码率较高(比如720P)实时转化成较低清晰度(比如360P)的流以适应播放端的需求。如果要自己搭建实时转码系统,这个成本是极高的,一台8核设备只能实时转10路流,如果一个正常的直播平台有1000路流,就需要100台设备,加上后期的运维成本,一般公司就吃不消了。
2、鉴黄
2016年4月14日,文化部查出了斗鱼、虎牙、YY、熊猫TV、六间房、9158等涉嫌提供含宣扬秽、暴力、教唆犯罪的网络直播平台,被列入查处名单。政府介入管制有利于直播行业打造健康的生态,进入良性发展。这也意味着为了安全直播产品鉴黄成了必需环节,使用技术手段去鉴黄是移动直播平台必然采用的方案。
市面上提供鉴黄服务的方案主要有两种,第一种是对视频进行截图,然后对进行鉴黄,返回鉴黄结果和分值。典型的企业有阿里(绿网)、图谱科技,他们目前都支持直接传入视频,经过服务端分析返回结果。通常由业务系统接入鉴黄服务,根据鉴黄结果对直播流进行控制,如切断直播流、封禁账号等。第二种是和CDN结合,直接对直播流进行分析,识别结果分为色情、疑似色情、性感和正常,业务系统根据识别结果直接控制直播流。典型的企业是Viscovery,这套方案的优点是实时性保证比较好,缺点是必须部署到CDN或自己的机房,使用成本相对高一些。
还有像趣拍云服务这种一站式直播解决方案提供商,他们的做法是,用户只需在控制台对鉴黄服务进行配置就可以针对每个应用、每一路直播流进行实时审核。在控制台中,趣拍视频云服务实时将鉴黄结果返回,用户可以直接查看色情直播和违规界面的截图,同时可以对直播流进行控制,切断问题直播流。该服务商还提供了短信、邮件和站内信功能,避免漏掉任何一个非法视频,给平台造成损失,我们就使用了这种方式。
三、播放器端需要做哪些工作?
在播放器端如何做到秒开,直播过程中保证画面和声音清晰度的同时,稳定、流程、无卡顿的直播流量,这些工作都需要播放器端配合服务端来做优化,做到精确调度。
1、拉流
拉流实际是推流的逆过程。首先通过播放端获取码流,标准的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的专利协议,开源软件和开源库都支持的比较好,如开源的librtmp库,播放端只要支持flashPlayer的就能非常简单的播放RTMP直播,直播延迟一般在1_3秒。HLS是苹果提出的基于>
各拉流协议的差异:
我们使用的趣拍视频云服务的直播拉流技术提供了以上三种格式,满足不同业务场景的需求,如对即时性要求较高或有互动需求的可以采用RTMP或FLV格式进行直播拉流播放;对于有回放或跨平台需求的,推荐使用HLS。当然,三种协议是可以同时使用的,分别用到自己的场景就可以了。
2、解码和渲染
拉流获取封装的视频数据后,必须通过解码器解码、渲染后才能在播放器上播放。它是编码的逆过程,是指从音视频的数据中提取原始数据。前面介绍的H264和H265编码格式都是有损压缩,所以在提取后的原始数据,并非原始采样数据,存在一定的信息丢失。因此,在视频体积最小的情况下通过各种编码参数保留最好的原始画面,成为了各视频公司的核心机密。
考虑对高清的支持,解码肯定还是要选择硬解码的。前面介绍过,iOS系统由于硬件比较单一、比较封闭,支持的比较好,Android系统由于平台差异非常大,编解码要完全兼容各平台还需要很多工作要做。
四、移动直播中的交互系统
移动直播中最常见的交互有聊天室(d幕)、点赞、打赏和礼物等,交互系统涉及消息的实时性和互动性,在技术实现上大多是使用IM的功能来实现的。对于在线人数比较多的房间,d幕消息量是非常大,主播与用户其实都看不过来,为了缓解服务器压力,在产品策略需要做一些必要的优化。
1、聊天室
移动直播中的d幕交互是用户和主播互动的主要方式,实际上就是IM中的聊天室功能。聊天室和群聊功能类似,但聊天室的消息是不需要分发给不在线的用户的,历史消息也不需要查看,用户只有进入聊天室后才能查看聊天消息和群成员信息。面对复杂多变的网络状况,还需要根据用户位置就近选择近对应运营商的单线机房接入d幕消息服务,让d幕更及时。
2、礼物系统
礼物系统更是绝大多数移动直播平台的标配了,它是这些平台主要的收入来源。送礼物的形式也增强了用户和主播之间的互动交流,也是主播依赖平台的最主要原因。
礼物的收发在技术实现上也是用聊天室接口做的,通常采用IM中的自定义消息实现,当用户收到或发送礼物时将自定义消息对应的礼物图形渲染出来。
以上就是我们在使用了第三方SDK服务后总结出来的直播产品经验,希望能帮助到创业者和从业者们。
1大带宽,成本构成上,除了基本的人力成本、主播签约费、硬件成本及市场布局成本,巨额带宽成本一直是直播企业较大的资金消耗版块之一。2延迟低,直播视频的基本要求就是延迟要低,做到实时传播,避免卡顿的现象。直播平台在这方面有着严格的要求
3故障转移,网络世界瞬息万变,不管是黑客攻击还是网络硬件导致的服务器故障,都可能降低服务器的可用性,影响用户的体验好感。这就需要用到负载均衡技术,系统在线诊断技术,同时及时故障处理的技术人员
4大存储,不光是网站数据的存储,现在直播平台都有视频回看的功能,这就要求把视频以缓存的形式存储到服务器内存里,而二十四小时,大流量的数据要被存储起来需要耗费大量的内存设备
视频直播,可以分为采集,前处理,编码,传输,解码,渲染这几个环节,下面分别说下:采集,iOS是比较简单的,Android则要做些机型适配工作,PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理,建议放弃PC只支持手机主播,目前几个新进的直播平台都是这样的
前处理,现在直播美颜已经是标配了,80%的主播没有美颜根本没法看
美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究
难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡
GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,iPhone6尤其明显,因为iPhone6的CPU和前置摄像头很近
编码,肯定要采用硬编码,软编码720p完全没希望,勉强能编码也会导致CPU过热烫到摄像头
硬编码兼容性又是一个大坑,android上要有人去填
编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点
传输,自己做不现实,交给CDN服务商吧,也就是贵了点,相信有志于做直播平台改变世界的你不差钱
假设2WPCU大约每月带宽费用100万左右,因为清晰流畅的720p要1
5mbps左右
CDN只提供了带宽和服务器间传输,发送和接收端的网络连接抖动缓冲还是要自己写的
不想要卡顿,必然要加大缓冲,会导致延迟高,延迟高影响互动性,要做权衡
解码,也肯定要硬解码,目前手机普遍支持硬解了,只是android上还是有兼容性大坑要填
渲染,这个难点不在于绘制,而在于音画同步,目前几个直播做得都不好
此外音频还有几个坑要填,比如降噪,音频编码器的选择,各种蓝牙耳机,各种播放模式的适配等,如果你想做主播和观众连线聊天,还有个回声消除问题
以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等
后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等
第一期至少要融资2000万RMB,组建至少10人的技术团队,10人的产品运营团队,争取3个月产品上线,半年达到5W在线(2w根本不够)然后融资1个亿,或许还有希望一搏
这些对于创业者来说是一个难度系数非常大,创业初期还是建议接入第三方的直播SDK,可以节省成本,趣拍直播还是很不错的,不管是转码还是推流,支持1000多万人在线不卡顿,可以去了解下
祝你朋友好运
作为专业的直播源码开发公司来回答一下:第一、直播源码的稳定性
搭建直播开发平台之前就是找到一款优质的直播系统源码,直播系统源码开发原理比其他软件更加复杂,而且相对于技术以及其他方面都会有一定的要求。直播源码的稳定性和安全性决定了后期搭建出的直播平台的流畅度、高并发承载及用户的产品体验,所以选择直播源码的时候一定不要为了贪图价格便宜,而选择安全性低,系统功能不会正常更新,bug一堆的源码。直播系统源码的开发需要经过推流端(采集、前处理)、服务端处理(编码、转码、录制、截图、鉴黄)、播放器(拉流、解码、渲染和互动系统)。
第二 、直播源码用到的三方接口
三方接口是视频直播平台后期能够正常运营的重要保障,没有这些三方功能的接入,你的直播开发平台也是不完整的。常见的三方接口申请,通常是三方登录、分享接口,支付接口,定位,短信,私信这些,不过以一般视频直播平台开发商都会提供三方申请文档和协助指导。在系统开发过程中,服务商就开始协助客户进行三方接口的申请了,正好可以将等待程序出来的这段时间填充起来。同时,服务商也会协助客户购买服务器,后期直播系统是要部署到服务器上的。
第三、 直播源码服务商的技术服务
直播开发平台技术团队实力是考量服务商综合实力的重要标准,对于视频直播平台开发来讲,产品经理、前端开发、服务端开发、运维人员、测试人员等等一个都不能少。一家靠谱的视频直播平台开发服务商,产品及技术实力是一方面,服务水平才是最重要的。不论是前期的问题咨询,中期的沟通合作,还是后期的售后服务,都是需要好好权衡的问题。
你好,很高兴能为你解答这个问题。对于视频直播软件开发来说,这两点比较重要:
低延迟与高并发
直播的对于实时性要求是非常高的,延迟越低越好,并发越高越好,观看直播时很容易出现卡顿情况,我们可以从硬件适配、编码方式、推流加速、编解码器配套、服务器架构和CDN布局等方面入手,尽量降低延迟与并发对直播状态的影响。
安全稳定的架构
直播平台生存和发展的基础就是直播平台架构的稳定性,如果直播平台服务器总是出问题,直播总是卡顿、这很影响用户的体验。所以在进行视频直播软件开发时,一定要选择一款优质的开源源码,更靠谱的服务器和CDN,甚至做好双保险(双服务器双CDN)来确保直播平台的稳定性。
与此同时,开发过程中也要注意安全性,直播流的安全防护、用户信息的安全保护、防止黑客攻击的保护手段等都应在视频直播网站开发时做好。
希望此次解答可以帮助到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)