- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 产品彩页
- 计费说明
- 云直播
- 媒体直播
- 最佳实践
- 云直播API参考
- 媒体直播API参考
- 云直播服务端SDK参考
- 低时延客户端SDK参考
- 场景代码示例
-
常见问题
- 高频问题导航
- 产品咨询
-
计费购买
- 点播的流量包直播服务能用吗?
- 如何查看直播套餐包的使用详情?
- 直播套餐包是否支持退订?
- 直播套餐包使用完之后会被停服吗?
- 购买了直播CDN出流包,为什么还会从账户余额扣费?
- 购买云直播转码套餐后,产生的转码费用未从套餐包中抵扣?
- 如何估算视频直播的流量消耗?
- 云直播录制需要收取哪些费用?
- 视频直播有哪些计费项?如何知道自己需要支付哪些费用?
- 如何查看直播按需资源的使用量和消费金额?
- 如何修改直播服务的计费方式?
- 不使用时是否需要停用或删除直播服务?
- 直播流量计费是按下行流量还是上行流量?
- 为什么账户欠费后仍一直产生直播费用?
- 视频直播服务的Key防盗链功能是否收费?
- 云直播转码是如何计费的?
- 如何知道账户是否欠费?
- 日峰值带宽是指上行带宽还是下行带宽?
- 为什么每月1号都会扣除一笔录制费用?
-
域名管理
- 什么是ICP备案?
- ICP备案是否是必须的?
- 如何进行ICP备案?
- 为什么要进行资质审核?审核未通过有什么影响?
- 域名已备案,如何在直播中添加域名?
- 直播服务许可证是否是必须的?如何办理?
- 添加域名时,提示“ICP编号不存在”怎么办?
- 域名管理中的消息订阅界面为什么操作不了?
- 一个租户最多可以添加多少个直播域名?
- 添加的播放域名和推流域名有什么要求?
- 域名管理界面的CNAME的作用是什么?
- 添加域名时,提示“添加失败,用户处于删除状态”怎么办?
- 为什么域名状态会从“正常”变为“配置中”?
- 配置CNAME域名解析,提示冲突?
- 播放域名和推流域名可以为二级域名吗?
- 一个域名是否可以同时添加在多个区域的直播服务中?
- 如何验证直播域名是否启动加速?
- 欠费后,域名是否会被清除掉?
- 更改了推拉流配置后,需要断流多长时间才能重新推流生效?
- 为什么直播控制台创建域名后,我的资源中未展示?
- 为什么直播控制台删除域名后,我的资源中仍展示?
- 如何查看我的资源?
-
直播录制
- 直播录制支持什么录制格式和播放格式?
- 直播录制后,为什么在控制台和回调信息中无播放地址?
- 是否支持直播录制存储至OBS桶中?
- 直播录制周期最多支持录制多长时间?
- 是否支持为每个直播流配置录制模板?
- 直播录制是否会录制转码流?
- 直播录制支持的ts分片大小是多少?
- 一次直播录制会生成几个录制文件?
- 已经删除录制规则,为什么还会生成录制文件?
- 为什么直播推流未中断,录制文件分成了两个?
- 直播录制后,如何获取录制文件地址?
- 是否支持通过调用API进行直播录制?
- 配置了录制至OBS模板,为什么未生成录制文件?
- 录制至OBS模板中,流名称是否支持通配符?
- 如何删除录制文件?
- 直播录制是否支持按需启停?
- 直播录制为什么无法收到RECORD_FILE_COMPLETE回调?
- 直播录制流名StreamName是否支持正则表达式的配置?
- 为什么直播录制生成的download_url无法下载视频?
- 修改了录制规则及文件存储路径,为什么没有生效?
- 直播中断流多次,可以录制成一个文件吗?
- 直播转码
- 直播截图
- 直播安全
- 直播推流
- 直播播放
- 直播回调
- API使用
- 统计分析
- 第三方工具使用
- 故障排除
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
常见问题
- 如果业务上App只能使用http协议,是否能够集成使用华为低时延直播Web SDK ?
部分浏览器(chrome)可以集成使用,但不推荐。由于浏览器兼容性识别是根据浏览器暴露的WebRTC对象判断的,在非https协议下,对象可能不存在。
- Firefox浏览器中无法使用华为低时延直播Web SDK?
Firefox浏览器使用之前需要安装H264的编解码插件。浏览器中输入about:addons,跳转到插件安装页面,查看H264插件是否安装完成,如未安装请在该页面更新安装。
- 集成华为低时延直播Web SDK后,无法正常使用,可能原因?
- 需要检查用户自定义的域名配置是否完成,如:推、拉流域名,权威机构签发的https证书等。
- 推流端设置及推流是否正常。
- 播放地址是否填写正确,如:appName、streamName等。
- 网络连接是否正常、网络防火墙配置是否有限制,如:UDP端口(8000-8063)是否放通。
- 华为低时延直播Web SDK,支持哪些类型浏览器?
浏览器支持详情请参见浏览器适配。
- 推流端推流成功后,华为低时延直播Web SDK拉流播放失败?
需要确认推流端的推流编码参数,是否为H264+无B帧。目前华为低时延直播Web SDK仅支持H264+无B帧的流,所以如果原始流为H265或者带B帧,则需要提前在租户Console上配置对应转码模板,开启转码服务,但这样会引入额外的转码延迟,并且会产生转码费用。建议推流端尽量推H264+不包含B帧的流,可以通过调整推流端软件(如OBS)的视频编码参数去除B 帧。如果使用OBS推流,可以通过设置,关闭B帧。如下图所示:
- 华为低时延直播Web SDK,播放报错:NotAllowedError:xxx?
由于浏览器自动播放安全策略的限制,浏览器直接拉起App并启动播放会返回该错误,在应用层需要根据该错误码,引导用户通过手动触发页面UI控件,并调用replay接口恢复播放。
- 开启认证策略,该如何获取token信息?
认证策略不开启不影响功能正常使用,也不影响打点和日志上传的能力。
认证策略开启可以保证打点数据和日志上传数据的安全性。
如果当前需要认证策略能力,请提交工单,联系技术支持获取appid和token。
- 如何填写拉流配置参数?
调用startPlay开始拉流,其中参数options的字段elementId必填,如下所示:
- elementId:容器的ID,用来承载展示适配画面的容器,一般传入div标签的id。
其他一些字段均为可选,比如:
- objectFit:渲染模式,有三种可选值,contain、cover和fill。
- muted:表示是否静音播放。
- 如何处理音频受限?
音频受限是音频自动播放导致的,常见场景为,在一个界面未做任何交互,就直接播放音频。可以通过监听Error事件来获取相关信息,详情请参考最佳实践。
client.on('Error', (error) => { if (error.errCode === 51000000) { // 音频受限,增加交互操作,调用replay接口 } })
- 如何使用loading加载动画?
loading加载动画可以在起播、卡顿、网络质量差时展示加载的效果,可通过以下方法启用:
HWLLSPlayer.setParameter('LOADING_CONFIG', { netQualityLoading: true, // 根据网络质量展示loading netQualityLoadingThreshold: 5, // 展示loading的阈值,默认为5 frameStuckLoading: true, // 根据帧卡顿时长展示loading frameStuckThreshold: 10, // 帧卡顿时长阈值,单位为100ms,10表示1000ms })
- 如何使用海报(即视频播放封面)?
海报的设置是在startPlay接口的配置参数里,使用方法如下:
const options = { ... poster: { url: // 海报链接 mode: crop, // 海报填充模式,可选fill或crop startEnable: true, // 表示启动播放时是否展示海报,不过只能在非自动起播下生效 pauseEnable: true, // 表示暂停播放时是否展示海报 } ... } client.startPlay(streamUrl, options)
- 如何获取统计信息?
详情请参考客户端时间回调。
需要先开启流信息统计,如下所示:
client.streamStatistic(true, 1)
再通过监听事件回调获取统计信息,如下所示:
client.on('media-statistic', (statisticInfo) => { const audioStatisticInfo = statisticInfo.audio const videoStatisticInfo = statisticInfo.video })
- 如何处理画面黑屏?
当画面黑屏时,先检查推流是否有问题,主要包括:
- 视频编码格式是否为H264。
- 视频是否包含B帧。
- 是否只推了音频,没有包含视频。
如果确认推流没问题,可以使用FLV拉流查看视频是否正常。如果FLV正常,请提交工单处理。
还有种情况是播放过程中出现黑屏,处理方式一般如下所示:
- 画面黑屏后,检查音频是否正常。如果音频正常,再检查下推流端是否正常。
- 音视频如果都没有,则可能是网络问题导致的断流。可在网络恢复时,重新调用开始播放接口,或使用断流重试功能。
- 如何使用断流重试?
如需使用断流重试功能,可在断流时自动重试拉流,优化用户体验。
一般开启方式如下所示:
client.enableStreamStateDetection( true, // 流检测开关 3, // 检测间隔,单位秒 { enable: true, // 重试开关 retryInterval: 30, // 重试间隔,单位:秒 retryTimes: 30, // 重试次数 } )
- 如何处理兼容性问题?
某些设备的浏览器可能不支持WebRTC协议拉流,该场景下,可以采取降级播放策略。
- 全屏操作等常规功能不生效?
检查Client在使用过程中是否有保证为单例,调用Client的方法时,使用的Client是对的。如果是用vue等开发框架,建议Client实例不要设为响应式数据。
- 低端手机播放超高清视频,可能体验差
部分低端手机(如P20 Android9)在播放4K分辨率及8M以上码率的超高清直播流时,可能会因为性能问题,出现黑屏。
- 如何使用降级播放功能?
有两种降级方式,自动降级和指定降级,详见最佳实践。
- 自动降级:SDK默认行为,在不支持WebRTC协议拉流时,自动降级为HLS或FLV。
- 指定降级:在startPlay接口的配置参数里,指定降级地址,如下所示:
const options = { ... downgradeUrl: { hlsUrl: // hls播放地址 flvUrl: // flv播放地址 } ... } client.startPlay(streamUrl, options)