一、需求
根据产品需求调研高效、可靠的第三方直播服务,了解直播流程及相关技术栈
二、相关实现原理
直播流程:客户端(直播方)>推送直播流>直播后台服务>拉取直播流>客户端(观众)
推流:通过摄像头或录屏功能进行视频采集、通过话筒进行音频采集,将视频文件编码,视频格式从YUV(RGB)变为H.264(H.265)、将音频文件编码,音频格式从PCM变为AAC,音颊和视频(H.264和AAC)结合成了FLV或TS或RTMP Packet,通过通讯协议推送直播流到指定URL。
拉流:通过通讯协议从指定URL中获取直播流,将处于「多媒体容器格式」的流解复用成为「视频编码格式」的视颊数据(如H.264)和「音频编码格式」的音频数据(如AAC),使用硬解码(GPU解码+CPU辅助)或软解码(CPU解码)解码后视频数据格式为YUV或RGB,音频数据格式为PCM解码后视频数据格式为YUV或RGB,音频数据格式为PCM。
使用协议:
应用层协议:HLS;RTSP;RTMP
传输层协议:RTCP、RTP
网络层协议:RSVP
三、调研对象
(1)阿里云视频直播服务
服务地址:https://www.aliyun.com/product/live
操作流程:
- 注册阿里云账号进行企业认证,购买视频直播服务
- 添加直播域名,配置CHAME域名解析
- 关联播流域名和推流域名,直播地址生成配置(可通过API调用)
- 对接推流SDK推流、对接拉流SDK拉流播放(播放器推荐使用VLC播放器)
优势:阿里云视频直播是基于阿里云强大的技术沉淀开发的音视频直播平台,拥有全链路覆盖、全球布局、安全稳定、流畅体验、超低延时、高清体验、高并发支持性好、文档完善对接较简便,支持有UI界面直播接入
计费价格:
视频直播计费分为直播加速费用、媒体处理费用、其他服务费用
基础收费:使用直播(标准直播或超低延时直播)进行播流后产生的直播服务费用,支持流量或峰值带宽两种计费方式切换,
可选收费:其它可选服务均默认不开启,激活使用后才收费,可选服务包括直播转推、直播转码、直播录制、直播截图、直播审核、直播加密、导播台、连麦互动、实时日志、美颜特效
(2)腾讯云视频直播服务
服务地址:https://cloud.tencent.com/product/mlvb
对接流程:
- 注册腾讯云账号进行实名认证,购买视频直播服务
- 配置推流域名、播放域名,推流与播放域名不能使用相同域名
- 配置推流、播放地址,可通过API接口调用
- 客户端集成推流、播放相关SDK,web端推荐使用TCPlayer播放器
优势:腾讯云直播支持 RTMP 推流、 HLS 源站等多种直播源接入方式。提供直播 SDK,支持多终端适配,满足多种场景需求,支持定制开发。
计费价格:
基础收费:直播流量/带宽费用是腾讯云标准直播的基础计费项,即通过标准直播服务观看直播内容时产生的下行流量/带宽费用。提供的两种日结后付费计费方式,分别为流量计费和带宽计费
可选收费:直播转码、直播录制、直播时移、直播截图、直播鉴黄、云导播台、直播连麦、拉流转播、实时监播、智能弹幕
四、总结
价格对比-按流量收费
流量区间 | 腾讯云(元/GB/) | 流量区间 | 阿里云(元/GB) |
0 – 2TB | 0.26 | 0GB-10TB(含) | 0.264 |
2TB(含)- 10TB | 0.25 | 10TB-50TB(含) | 0.253 |
10TB(含)- 50TB | 0.24 | 50TB-100TB(含) | 0.231 |
50TB(含)- 100TB | 0.22 | 100TB-1PB(含) | 0.198 |
100TB(含)- 1PB | 0.19 | 大于1PB | 0.165 |
≥ 1PB | 0.16 |
举例说明:
若直播码率为 1Mbps(此码率为音频码率和视频码率之和,若您开启转码并设置特定码率,该设定值仅为视频码率,需加上音频码率计算流量),直播时长2小时,其中观看直播1小时的人数为100人,观看直播2小时的人数为50人,则消耗的流量约为:
1(Mbps)/8 × 7200(s) × 50(人)+ 1(Mbps)/8 × 3600(s) × 100(人) = 90000(MB) = 90GB
综上对比,阿里云视频直播更符合产品需求