直播业务概述
大家所熟知的直播平台虎牙、斗鱼、快手、抖音、B站,直播功能看似普遍,但从零到一开发却不简单。直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技术,学好任何一项都需要比较高的成本,将它们融合到直播功能上更是难上加难。
由于公司新项目计划做直播产品,开发周期比较紧。经过调研:最快搭建一个直播功能的方案就是运用第三方直播SDK,低成本、效率高、风险低。本文将整理介绍几款主流的直播SDK,便于音视频直播的开发者清晰快速选择适合项目的SDK,开发者最重要的是:学会站在巨人的肩膀上编程,效率更高。
以下所有信息都是从官网文档收集人工整理汇总而成,有部分信息不确定或未提及若存在偏差,欢迎大家随时指正便于修改,希望能帮助到大家选择产品和服务快速搭建线上直播间。
直播产品介绍
2.1直播产品
直播产品定义:一个通用的直播模型一般包括三个模块:主播方、服务器端和播放端。
2.2直播类型
业务视角分类:一般分为单主播直播、多主播直播。主要区别在推流端的数量。单主播直播的特点是只有一个推流端(主播),多个拉流端(观众)。多主播直播的特点是有多个主播(推流端),和多个观众(拉流端)。
- 单主播直播:最早的直播场景,只有一个主播推流,观众不能与主播连麦互动,只能看主播直播,比如单主播的秀场直播、职业培训这类场景。
- 多主播直播:指主播之间进行互动连麦(多人连麦直播场景),主播与主播之间进行互动PK(PK直播场景)的一种直播类型。技术实现是在实时音视频的基础上,将实时音视频某个房间中的画面经云端混流后(多主播直播模式为了保证画面同步性一般采用混流服务),通过旁路直播的方式直播出来。
- 连麦的主播使用的都是RTC服务所以延迟较低300ms左右,因观众不要求完全的实时同步,一般使用的是CDN的分发网络,延迟在3s左右。
直播根据延迟角度分类:分为CDN直播和超低延迟直播,CDN直播延迟通常延迟3s以上,超低延迟直播通常延迟小于1s。
- CDN直播:传统的CDN直播方式,满足高并发的基础直播、对直播内容同步性无强要求的场景。可实现观众文字互动体验。通常适合单主播多个观众的直播间。
- 超低延迟直播:与单向直播相比,强调多人连麦、画面特效等直播能力,给予观众“露脸发声”与主播互动的能力,因为对实时性要求更高。
2.3 实时音视频、旁路转推、直播分发、低延迟直播、CDN直播的区别和关系?
- 实时音视频(Real-Time Communication, RTC):(关键词:双人/多人通话,UDP私有协议,低延时)主要应用场景是音视频通话和连麦直播。使用基于UDP的私有协议,其延迟可低于100ms,典型的场景:QQ电话、微信电话。即构实时音视频RTC覆盖各平台,除了iOS/Android/Windows之后,还支持小程序以及 WebRTC 互通,并且支持通过云端混流的方式将画面旁路直播出去。当业务对延迟敏感,通话场景要求比较高,或是需要小程序或者 H5 场景下的双人或多人音视频通话可以选择ZEGO实时音视频。
- 旁路转推:旁路直播是一种技术,指的是将低延时连麦房间里的多路推流画面复制出来,在云端将画面混合成一路,并将混流后的画面推流给直播 CDN 进行分发播放。因为混流后的视频数据流和主/副播通话房间实际上并不是同一路流,而是在另外平行的一路,因而称为旁路,即不在主路。云端录制时,录制的流也是通过旁路的方式从流媒体中心引出,存到COS中。
- 直播分发:(关键词:一对多,RTMP/HLS/HTTP-FLV,CDN)是一种非常典型的流媒体系统,通常会分为推流端、拉流端(或叫播放端)以及直播流媒体中心(直播源站),直播源站通常会使用CDN进行直播的分发,因此大部分情况下使用的是通用标准的协议RTMP,经CDN分发后,播放时一般可以选择RTMP、HTTP-FLV或HLS(H5支持)等方式。
- 超低延迟直播:延时低至600ms,提供千万级并发的高质量直播服务,同步性更强,弱网抗性更优。
- CDN直播:延时为 3s 左右,提供低成本、大规模稳定、端上能力丰富的直播服务。
2.3.1 直播产品和直播技术
直播所需产品 | 实时音视频产品 | 直播分发产品 | ||
---|---|---|---|---|
产品定义 | 低至200ms的端到端平均时延,提供便捷接入、高可靠、多平台互通的音视频服务。可完美的支持一对多、多对多的实时音视频通话、直播、会议等场景。 | 直播分发,按照延迟时间的长短对应有不同的产品。 由于不同场景对互动和延迟的要求不同,按照延时程度,厂商一般会提供对应的直播分发产品,这里以ZEGO为例,分为超低延迟直播、CDN直播两大类来说明。 | ||
直播技术 | 实时音视频 | 旁路转推 | 超低延迟直播 | CDN直播 |
典型场景 | 观众与主播之间需要频繁音视频互动,比如小班课,在线会议等场景。 | 观众之间需要强同步,主播需要即时响应观众的文字、弹幕或者打赏信息,比如直播大班课,一起看电影等场景。 | 观众不需要与主播音频互动,观众之间的直播内容同步性无强要求,比如游戏直播,直播秀场。 | |
延时情况 | 观众与主播连麦的内容延迟小于 400 ms。 | 观众和主播之间的内容延迟范围在 600 ms ~ 1000 ms。 | 观众和主播之间的内容延迟大于 3000 ms。 | |
同步性 | 观众之间的同步性强。 | 观众之间的同步性良好。 | 观众之间的同步性差。 | |
互动体验 | 优。 | 良。 | 差。 | |
价格 | 较高。 | 适中。 | 较低。 |
第三方直播产品核心功能对比
为了便于大家更好的进行直播产品的选型,笔者将各大厂商官网的核心功能进行整理汇总,并表格形式横向对比呈现。因各家文档较多笔者人工查询整理,难免有有出入欢迎大家不吝赐教指正,有出入处以各家官网文档为准。
腾讯云-云直播 | **即构 -**畅直播 | 阿里云-视频直播 | 网宿-云直播 | 声网-融合CDN直播 | |
---|---|---|---|---|---|
客户案例 | bilibili,快手、now直播、斗鱼 | 映客直播、花椒直播、咪咕直播 | 淘宝、钉钉、Lazada、阿里巴巴 | 虎牙直播、河南广播电视台、希沃 | bilibili、斗鱼、陌陌、花椒直播 |
产品形态 | CDN | 根据不同时延要求,分为CDN、CDN Plus、超低延迟直播 | CDN | CDN | 融合CDN,可以认为是CDN |
主要场景 | •CDN直播 | •CDN直播质量无法保证的场景 •质量优先的直播用户 | •CDN直播 | •CDN直播 | •单个CDN直播无法保证质量的场景 |
核心优势 | •节点丰富 •价格较低 •可以基于CDN提供转码、录制等增值服务 | 1、提供基于不同场景需求的多档位方案 2、节点丰富,基于全球网络调度MSDN策略、流控策略等,抗弱网能力更强,保证直播流畅率和稳定性 3、有播放器的实时播放数据,云上的调度策略更加准确 4、可以进行端上的调度策略 5、提供端上处理能力,包括3A,前处理等 6、可以基于CDN提供转码、录制等增值服务 7、质量监控更加全面 | •节点丰富 •价格较低 •可以基于CDN提供转码、录制等增值服务 | •节点丰富 •价格较低 •可以基于CDN提供转码、录制等增值服务 | •基本等同于CDN的价格 •有播放器的实时播放数据,云上的调度策略更加准确 •可以进行端上的调度策略 •SDK端上的各种能力 •质量监控更加全面 |
支持的连麦人数 | 最多支持50人同时连麦 | 业内首创连麦技术,最多支持10000人同时连麦 | 最多支持16人直播连麦 | 支持60人同时语音、视频连麦互动 | 最多支持128人同时互动 |
劣势 | 受限于CDN本身的能力,在流畅率、稳定性、实时性上表现不佳 | 要做CDN、L3的目前有一些限制(播放器等),不如CDN有通用型 | 受限于CDN本身的能力,在流畅率、稳定性、实时性上表现不佳 | 受限于CDN本身的能力,在流畅率、稳定性、实时性上表现不佳 | 受限于CDN厂商本身的限制,很难进行进一步质量提升 |
推流协议支持 | •RTMP •TCP/QUIC/SRT | •私有协议/RTMP •TCP/QUIC | •RTMP •TCP/QUIC/SRT | •RTMP •TCP/QUIC/SRT | •私有协议/RTMP •TCP/QUIC/SRT |
拉流协议支持 | •RTMP/HTTP-FLV/HTTP-HLS •TCP/QUIC | •私有协议/RTMP/HTTP-FLV/HTTP-HLS •TCP/QUIC | •RTMP/HTTP-FLV/HTTP-HLS •TCP/QUIC | •RTMP/HTTP-FLV/HTTP-HLS •TCP/QUIC | •RTMP/HTTP-FLV/HTTP-HLS •TCP/QUIC |
调度模式 | 云上的调度策略 | •云上调度策略 •端上的调度策略 跨CDN厂商切换 •跨IP切换 •Quic→TCP切换 •提供基于不同场景需求的多档位方案,支持无缝切换 | 云上的调度策略 | 云上的调度策略 | •云上调度策略 •端上的调度策略 •跨CDN厂商切换 •跨IP切换 •httpDNS→DNS •Quic→TCP |
腾讯、阿里的视频直播 是最常见的CDN直播,基于 RTMP等TCP协议实现,延迟一般在3-10S左右,抗弱网能力较差,卡顿率较高。
声网的融合CDN直播融合了多家CDN,与声网媒体服务进行了协同,针对CDN的卡顿率问题进行了优化,但仍受限于CDN本身的能力。
即构的畅直播提供了多种直播档位,其中的超低延迟直播基于即构自研UDP传输协议实现,使用了海量数据分发网络(MSDN 网络),可以认为复用了RTC的部分优势,因此延迟低至600ms、弱网抗性超强、卡顿率极低。
其他标配功能对比
除直播的核心推拉流功能之外,直播产品快速迭代了许多功能满足多场景需求,基本厂商们都支持,详见以下表格。
产品功能 | 腾讯云 | 阿里云 | 即构 | 网易云信 | 声网 | 七牛云 | 金山云 |
---|---|---|---|---|---|---|---|
推流地址自定义 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
视频软编码 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
视频硬编码 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
美颜 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
第三方美颜接口 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
水印 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
截图 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
多视频分辨率支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
横竖屏推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
动态横竖屏切换 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
连麦 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
画中画 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
对焦/变焦 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
镜像 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
闪光灯 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
耳返 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
蓝牙耳机 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
混音 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
混响 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
纯音频推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
后台音频推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
录屏 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
短视频录制 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
动态帧率 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
变声 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
升降调 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
立体声推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
悬浮窗 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
降噪 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
手机摄像头/麦克风采集 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
手机屏幕采集 | 支持 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 |
自定义采集(外部采集) | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
推流码率自适应 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
填充/旋转模式 | 支持 | N/A | 支持 | 支持 | N/A | 支持 | 支持 |
SEI消息接收 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
推流录制 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 | 支持 |
背景音乐播放 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
音乐与人声混音 | 支持 | 支持 | 支持 | N/A | N/A | N/A | N/A |
H.265硬解 | 支持 | 支持 | 支持 | N/A | N/A | 支持 | 支持 |
超分 | N/A | N/A | 支持 | N/A | 支持 | N/A | 支持 |
音量均衡 | N/A | 支持 | 支持 | N/A | N/A | 支持 | 支持 |
秒开优化 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
自动增益补充(AGC) | N/A | N/A | 支持 | N/A | 支持 | 支持 | N/A |
回声消除(AEC) | N/A | N/A | 支持 | N/A | N/A | 支持 | N/A |
自定义视频渲染 | N/A | 支持 | 支持 | N/A | 支持 | 支持 | 支持 |
音视频流加密 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
网络直播作为新兴的传播形式能量巨大,技术进步也改变了视频直播平台、主播和观众之间的互动方式。近些年,随着网络直播的市场规模不断增长,同时也衍生了许多新的业务场景和互动玩法,直播产品的激烈竞争倒逼厂商开启了自研技术之路,提升直播平台用户体验。笔者关注到一些新兴功能,进一步提升了对直播产品形态的演进和用户体验,以下为相关功能的横向对比。
产品功能 | 即构 | 声网 | 火山引擎 |
---|---|---|---|
场景化AI降噪 | 非音乐场景:人声保真效果较好,降噪效果较好 音乐场景:支持99%以上的音乐场景识别并应用对应的降噪策略 | 非音乐场景:降噪效果最好,但是人声保真效果差 音乐场景:没有 | 非音乐场景:人声保真效果较好,降噪效果最差 音乐场景:没有 |
万人连麦 | 最多支持10000人同时上麦 | 最多支持128人上麦 | 最多支持1000人同时上麦 |
状态同步 | 最多支持10000人的状态同步; | 不支持 | 不支持 |
分割和传输视频中的主体 | 将主体外的区域设置为透明,实现只传输主体的效果。 多人异地同台:将身处不同城市的嘉宾渲染到同一个虚拟舞台上,实现发布会、企业年会、演唱会等场景的多人异地同台 同场互动:只需一张虚拟背景图,即可让所有麦上用户同处一个空间。在同一个“健身房”一起健身、在同一片“广场”一起跳广场舞,尽享沉浸式的趣味视频连麦体验 | 分割:有 传输:无 | 传输:无 |
视频超分辨率 | 最大支持540P超分至1080P | 最大支持360P超分至720P | 无 |
暗光增强 | 所有机型全覆盖; | 部分覆盖,存在性能问题 | 无 |
价格对比
因各大厂商直播SDK计费模式较多且差异不大,价格对比环节只列举部分厂商的报价供参考,大家可根据实际业务需求进行选择,同时笔者也附上厂商官方地址有任何价格相关的疑问可直接咨询官方。
阿里云
官网地址:https://helpcdn.aliyun.com
1、按量后付费模式
1.1 按使用流量计费
按不同区域使用的流量阶梯价格计费,当月分别超额累进(以自然月为一个累计周期,下个月自动清零重新累积)。定价受区域和带宽阶梯影响。
流量阶梯(计费单位:元/GB) | 中国内地-CN | 北美-NA | 欧洲-EU | 亚太1区-AP1 | 亚太2区-AP2 | 亚太3区-AP3 | 中东非洲-MEAA | 南美-SA |
---|---|---|---|---|---|---|---|---|
0~10 TB(含) | 0.528 | 0.920 | 0.920 | 1.580 | 1.700 | 1.700 | 2.620 | 2.620 |
10 TB~50 TB(含) | 0.506 | 0.920 | 0.920 | 1.580 | 1.700 | 1.700 | 2.620 | 2.620 |
50 TB~100 TB(含) | 0.462 | 0.780 | 0.780 | 1.320 | 1.440 | 1.440 | 2.360 | 2.360 |
100 TB~1 PB(含) | 0.396 | 0.400 | 0.400 | 1.040 | 1.320 | 1.240 | 1.960 | 1.840 |
大于1 PB | 0.330 | 0.320 | 0.320 | 0.920 | 1.180 | 1.180 | 1.840 | 1.700 |
1.2 按峰值带宽计费
以当日您直播观看区域所在节点,直播加速服务分别产生的带宽最高值(单位Mbps)为结算标准。定价受区域和带宽阶梯影响。
带宽阶梯(计费单位:元/Mbps/天) | 中国内地-CN | 北美-NA | 欧洲-EU | 亚太1区-AP1 | 亚太2区-AP2 | 亚太3区-AP3 | 中东非洲-MEAA | 南美-SA |
---|---|---|---|---|---|---|---|---|
0~500 Mbps(含) | 1.320 | 3.280 | 3.280 | 6.560 | 7.880 | 7.880 | 11.820 | 10.640 |
500 Mbps~5 Gbps(含) | 1.276 | 3.020 | 3.020 | 6.300 | 7.620 | 7.620 | 11.540 | 10.360 |
5 Gbps~20 Gbps(含) | 1.232 | 2.760 | 2.760 | 6.040 | 7.340 | 7.340 | 11.280 | 10.100 |
大于20Gbps | 1.188 | 2.620 | 2.620 | 5.900 | 7.220 | 7.220 | 11.160 | 9.980 |
即构科技
官网网址:https://www.zego.im/
每月免费使用10000分钟,不超过完全免费,超过部分单独计算:
他家官网报价常规可以拿到5%-15%的优惠折扣,如果有活动赶上大促,比如今年是他们7周年,部分产品折扣力度非常大。
1.CDN直播
用量统计方式:CDN 目前默认为后付费按量计费,并提供两种计费类型:带宽计费和流量计费,您可根据自身业务形态,选择适合的计费模式。
服务定价
计费档位 | 计费类型 | 档位说明 | 价格 |
---|---|---|---|
(0Mbps,500Mbps] | 带宽 | 月峰值带宽 | 26元/Mbps/月 |
(500Mbps,2Gbps] | 带宽 | 月峰值带宽 | 24元/Mbps/月 |
(2Gbps,∞] | 带宽 | 月峰值带宽 | 22元/Mbps/月 |
不区分阶梯用量 | 流量 | 拉流累计 | 0.5元/GB |
2.超低延迟直播
用量统计方式:目前默认为后付费按量计费,按照用户实际拉取音视频流的时长来统计超低延迟直播服务的用量。
服务定价
计费档位 | 计费类型 | 档位说明 | 价格(元/千分钟) |
---|---|---|---|
高音质纯音频 | 时长 | 纯音频 | 4.00 |
标清视频(SD) | 时长 | 分辨率 ≤ 360P( 480 x 360 ) | 7.00 |
高清视频(HD) | 时长 | 360P < 分辨率 ≤ 720P( 1280 × 720 ) | 14.50 |
超清视频(HD+) | 时长 | 720P < 分辨率 ≤ 1080P( 1920 × 1080 ) | 57.00 |
声网
官网网址:
https://www.agora.io/
融合CDN直播
流量阶梯单价:下表列出各个流量阶梯下每个地区的流量单价,价格单位:元/GB。
月度总流量 (GB) | 中国内地 | 北美 | 欧洲 | 亚太 1 区 | 亚太 2 区 | 大洋洲 | 中东非洲 | 南美 |
---|---|---|---|---|---|---|---|---|
0 - 10,000 | 0.25 | 0.48 | 0.48 | 0.48 | 0.73 | 0.96 | 0.73 | 0.73 |
10,000 (含)- 50,000 | 0.23 | 0.46 | 0.46 | 0.46 | 0.69 | 0.92 | 0.69 | 0.69 |
50,000 (含)- 100,000 | 0.21 | 0.42 | 0.42 | 0.42 | 0.63 | 0.84 | 0.63 | 0.63 |
100,000 (含)- 1,000,000 | 0.19 | 0.38 | 0.38 | 0.38 | 0.57 | 0.76 | 0.57 | 0.57 |
大于 1,000,000 | 0.16 | 0.32 | 0.32 | 0.32 | 0.48 | 0.64 | 0.48 | 0.48 |
网易云信
官网地址:https://netease.im
直播服务计费项由两部分组成:日峰值带宽费+增值服务费(可选)
1.普通直播
总结
近几年直播行业飞速发展,从早期的秀场直播到电商直播,以及如今火爆的互动直播。直播技术不仅对延时的要求越来越高,还加入了各类美颜特效和互动玩法,全方位提升APP的活跃留存。
同时也加速了直播技术的发展,线上直播间的搭建涉及到的技术难点非常多,直播SDK加快了直播程序开发的效率,技术成熟的直播SDK也更加稳定可靠。大家可以根据项目需求选择合适的服务搭建直播间,也可下载演示demo具体体验后再选择。