通过直播,将公益传播得更广,让人们更深入的体会爱的力量。
直播技术,到底有哪些典型的应用呢?
想把直播结合到公司业务中,会踩哪些坑呢?
2大直播场景
NO.1 单场次直播
▲发布会直播/会议直播/活动直播等
可以通过手机端或专业设备进行推流,将活动直播到网络上。
直播不仅覆盖了娱乐领域,还延伸到了公益活动、助残、教育等领域。
NO.2 秀场直播
▲秀场直播/游戏直播/多房间直播
游戏直播等场景中,大多数会用到聊天框、弹幕消息、爱心点赞,主播端会有美颜增白、动效蒙皮、连麦互动等功能。如果没有这些功能,想象一下关闭美颜功能的主播,会是什么样子。
面临的挑战
5大天坑
NO.1 推流
所谓万事开头难
而直播的第1步,便是推流
@某公司技术工程师:创建直播流,过期怎么办?
@直播技术支持回复@某公司技术工程师:
直播码模式有有效期,频道托管模式不会过期
▲直播码接入和频道接入的区别
总而言之,直播码接入更适合多房间的直播,比如游戏直播;频道接入更适合单场次的直播,比如发布会直播
@某公司技术工程师:通过调取api接口,获取直播推流地址,该如何着手?
@直播技术支持回复@某公司技术工程师:
推流地址可以通过后台自动拼装得到
▲推流地址的拼装规则
@某公司技术工程师:如何用api调取来结束推流
@直播技术支持回复@某公司技术工程师:
要做好清理工作,因为用于推流的 TXLivePusher 和用于显示影像的 TXCloudVideoView 都是不能多实例并行运转的,所以清理工作不当会导致下次直播遭受不良的影响。
代码语言:javascript复制//结束推流,注意做好清理工作
public void stopRtmpPublish() {
mLivePusher.stopCameraPreview(true); //停止摄像头预览
mLivePusher.stopPusher(); //停止推流
mLivePusher.setPushListener(null); //解绑 listener
}
@某公司技术工程师:老板总不按常理出牌,只直播音频,怎么办
@直播技术支持回复@某公司技术工程师:
可以按照以下方法实现
▲纯音频推流的步骤
NO.2 SDK
@某公司技术工程师:在线教育,老师进行视频直播,学生连麦只进行纯音频直播,应该怎样搭建呢?
@直播技术支持回复@某公司技术工程师:
可以通过云端混流来实现
▲直播老师讲课,学生连麦语音交流
具体代码可参考腾讯云直播官网《混流demo》,参考|demo_stream1_and_audio15.py|1音视频 15纯音频混流|
NO.3 录制截图问题
@某公司技术工程师:直播可以回放吗?
@直播技术支持回复@某公司技术工程师:
可以开启录制然后存储在点播系统上,进行回放,具体看以下流程
▲录制流程图
对于一条直播流,一旦开启录制,音视频数据就会被旁路到录制系统。主播的手机推上来的每一帧数据,都会被录制系统追加写入到录制文件中。
@某公司技术工程师:如何将一个时长为16小时的直播流,进行自动抽取录制,最后生成十几分钟的短视频?
@直播技术支持回复@某公司技术工程师:
可以设置定时录制,在生成许多个短视频文件后,将其拼接成1个视频文件,如下图
▲自动剪辑精彩集锦的步骤
NO.4 直播播放问题
@某公司技术工程师:如何给直播加防盗链机制?
@直播技术支持回复@某公司技术工程师:
通过在直播管理控制台,配置 防盗链加密 KEY,防止攻击者获得加密 KEY,也就防止了伪造出有效的推流 URL,达到防盗链的目的,如下图所示:
▲防盗链机制图
@某公司技术工程师:直播支持https协议吗?
@直播技术支持回复@某公司技术工程师:
支持的,可以用两种方式来满足
方式一:
在原有的http协议的播放链接上加s
方式二:
后台自动拼装成https协议的播放链接
▼
推流地址格式:
代码语言:javascript复制rtmp://bizid.livepush.myzijiebao.com/live/bizid_id?
则播放地址的格式为:
代码语言:javascript复制rtmp://bizid.liveplay.myzijiebao.com/live/bizid_id
http://bizid.liveplay.myzijiebao.com/live/bizid_id.flv
http://bizid.liveplay.myzijiebao.com/live/bizid_id.m3u8
例如,账号对应的bizid为8888,ID为test,则播放地址为
代码语言:javascript复制http://bizid.liveplay.myzijiebao.com/live/bizid_test.flv
http://bizid.liveplay.myzijiebao.com/live/bizid_test.m3u8
bizid在直播控制台可查看,ID一般为英文字母加下划线组成
NO.5 费用问题
身为一名技术小哥,不仅要上知开发代码,下知费用报价,不想成为产品经理的技术不是一个好财务
@某公司技术工程师:关于录制的计费问题,每一路需要30元。每个直播间的推流即算作一路,那么这个直播间可以复用吗?两个人今天结束了谈话断开流,明天在用相同的直播间id进行交流,算一路还是两路呢?
@直播技术支持回复@某公司技术工程师:
制计费是统计当月直播流并发录制路数的峰值。
同时录制的直播流数量为并发录制路数,每5分钟统计一个并发录制路数,一个月内最大的并发录制路数为月并发录制峰值路数,可以参考下图
▲录制费用图
@某公司技术工程师:怎么计算视频直播的费用?
@直播技术支持回复@某公司技术工程师:
直播的费用可以参考下图
▲直播费用全景图
只要基础流量费用,其他费用,可以看具体需求。
@某公司技术工程师:我开了很多房间直播,我如何知道一个特定房间的流量呢?
@直播技术支持回复@某公司技术工程师:
查询某条直播流的统计信息(如观看人数、带宽、码率、帧率等)获取统计信息,如图
▲通过API读取流量的示意图
@某公司技术工程师:怎样计算一场直播,100人观看,大概消耗多少流量?
@直播技术支持回复@某公司技术工程师:
一个直播频道流量消耗=(直播码率/8)*直播观看时长(秒)*观看人数
▲直播流量计算公式
举个例子:
直播码率为500kbps,直播时长为1小时,观看人数为100人,则消耗的流量约为:22.5GB。
计算方法: 500/8*3600*100=22500000KB,22500000KB/1000/1000=22.5GB
计费流量为所有直播频道流量消耗的总和
盘点完5大天坑,想必大家都是直播届的道友了。