视频点播 播放报错如图所示如何处理?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的报错信息和知识库资料,以下是针对视频点播播放报错的详细处理方法。请根据具体的报错现象选择对应的解决方案:
如果播放时提示跨域错误,例如Access is denied for this document
或Access-Control-Allow-Origin
相关报错,需要启用播放域名的跨域访问配置。
解决方法: - 登录阿里云视频点播控制台,检查并配置播放域名的跨域访问规则。 - 确保播放域名已正确设置CORS
(跨域资源共享)策略,允许目标域名访问资源。
当出现网络错误、获取地址失败、m3u8文件加载失败等与网络相关的报错时,可能是DNS解析失败导致。
解决方法: - 为浏览器配置安全DNS,推荐使用以下DNS地址: - 首选地址:https://dns.alidns.com/dns-query
- 备用地址:https://doh.pub/dns-query
- 如果问题仍未解决,可从系统层面设置DNS,具体方法请参考各操作系统或浏览器的安全DNS配置说明。
如果播放经过H.265编码的视频时出现报错,可能是因为播放器未开启H.265支持。
解决方法: - 确保使用的Web播放器SDK版本为2.14.0及以上。 - 申请相应的License授权,并在播放器中配置参数以开启H.265功能。 - 参考文档中的“播放H.265/H.266编码协议视频流”章节进行详细配置。
当使用VidAuth方式播放HLS视频流并开启本地缓存后,可能出现403鉴权失败的报错。
解决方法: - 对于5.5.4.0及之后版本的播放器SDK,可以通过设置AVPConfig.enableStrictAuthMode
字段来调整鉴权模式: - 非严格鉴权(false,默认值):鉴权信息会被缓存,可能导致有效期较短的URL鉴权失效。 - 严格鉴权(true):每次起播都重新鉴权,但无网络时会导致起播失败。 - 根据实际需求选择合适的鉴权模式。
如果视频播放时未填满整个播放器,出现黑边现象,可以通过CSS属性调整。
解决方法: - 给video
标签添加以下CSS样式:
object-fit: cover;
如果播放RTS流时提示协议不支持,可能是SDK集成或版本配套问题。
解决方法: 1. 检查是否已集成以下三个SDK: - AliPlayerSDK_iOS
- AliPlayerSDK_iOS_ARTC
- RtsSDK
2. 确认Native RTS SDK
和AliPlayerSDK_iOS
的版本是否配套。 3. 确保AliPlayerSDK_iOS
和AliPlayerSDK_iOS_ARTC
的版本一致。 4. 参考文档中的“阿里云播放器SDK集成Native RTS SDK实现说明”进行正确集成。
如果MP4视频起播速度慢,或MOV视频播放失败,可能是源视频的moov
(音视频数据索引)位于mdat
(音视频数据)之后。
解决方法: - 使用FFmpeg工具检测moov
位置:
ffmpeg -v trace -i "源视频地址" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
moov
在mdat
之后,建议对视频进行转码,将moov
移动到mdat
之前。如果尝试播放Android工程中assets
或raw
文件夹下的视频时失败,需将视频文件拷贝到手机存储中。
解决方法: - 将视频文件拷贝到手机存储路径下,并使用绝对路径进行播放。
如果播放带旋转角度的HDR视频时出现异常,目前Android播放器SDK暂不支持此类视频。
解决方法: - 建议对HDR视频进行转码,移除旋转角度后再播放。
如果在iOS模拟器上调试播放器SDK时出现问题,建议使用真机调试。
解决方法: - 确保使用的iOS播放器SDK版本为5.4.7.1及以上。 - 如果使用M1芯片的Mac模拟器,目前不支持调试运行。 - 对于Flutter播放器SDK,若出现编译报错,可以注释掉AliPlayerFactory.m
文件中的setFilterConfig:
、updateFilterConfig:
、setFilterInvalid:
接口方法及相关调用代码。
如果播放过程中因网络问题导致失败,可以通过自定义重试逻辑进行处理。
解决方法: - 设置重试次数为0(或其他值),并在播放器事件回调中处理网络重试逻辑:
AVPConfig *config = [self.player getConfig];
config.networkRetryCount = 0; // 设置重试次数
[self.player setConfig:config];
-(void)onPlayerEvent:(AliPlayer*)player eventWithString:(AVPEventWithString)eventWithString description:(NSString *)description {
if (eventWithString == EVENT_PLAYER_NETWORK_RETRY) {
// TODO:实现自定义重试逻辑
}
}
如果上述方法无法解决问题,可以使用阿里云提供的播放检测工具进行快速诊断。
操作步骤: 1. 登录阿里云视频点播控制台。 2. 在左侧导航栏中选择“检测工具” > “视频播放问题排查”。 3. 输入视频播放链接,选择域名类型,点击“开始检测”。 4. 根据检测结果,参考解决建议进行处理。
以上是针对视频点播播放报错的详细解决方案,请根据具体的报错现象选择对应的方法进行处理。如果问题仍未解决,请联系阿里云技术支持团队获取进一步帮助。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。