开发者社区 问答 正文

视频点播 播放报错如图所示如何处理?

视频点播 播放报错如图所示如何处理?
d7f15c3cf012fb2e8a765ec49df91ae7.png

展开
收起
你鞋带开了~ 2024-01-28 21:05:48 46 分享 版权
来自: 阿里云视频云
阿里云 AI 助理回答

根据您提供的报错信息和知识库资料,以下是针对视频点播播放报错的详细处理方法。请根据具体的报错现象选择对应的解决方案:


1. 跨域错误(Access-Control-Allow-Origin相关报错)

如果播放时提示跨域错误,例如Access is denied for this documentAccess-Control-Allow-Origin相关报错,需要启用播放域名的跨域访问配置。

解决方法: - 登录阿里云视频点播控制台,检查并配置播放域名的跨域访问规则。 - 确保播放域名已正确设置CORS(跨域资源共享)策略,允许目标域名访问资源。


2. DNS解析失败

当出现网络错误、获取地址失败、m3u8文件加载失败等与网络相关的报错时,可能是DNS解析失败导致。

解决方法: - 为浏览器配置安全DNS,推荐使用以下DNS地址: - 首选地址:https://dns.alidns.com/dns-query - 备用地址:https://doh.pub/dns-query - 如果问题仍未解决,可从系统层面设置DNS,具体方法请参考各操作系统或浏览器的安全DNS配置说明。


3. H.265编码视频无法播放

如果播放经过H.265编码的视频时出现报错,可能是因为播放器未开启H.265支持。

解决方法: - 确保使用的Web播放器SDK版本为2.14.0及以上。 - 申请相应的License授权,并在播放器中配置参数以开启H.265功能。 - 参考文档中的“播放H.265/H.266编码协议视频流”章节进行详细配置。


4. HLS(M3U8)视频播放失败(403错误)

当使用VidAuth方式播放HLS视频流并开启本地缓存后,可能出现403鉴权失败的报错。

解决方法: - 对于5.5.4.0及之后版本的播放器SDK,可以通过设置AVPConfig.enableStrictAuthMode字段来调整鉴权模式: - 非严格鉴权(false,默认值):鉴权信息会被缓存,可能导致有效期较短的URL鉴权失效。 - 严格鉴权(true):每次起播都重新鉴权,但无网络时会导致起播失败。 - 根据实际需求选择合适的鉴权模式。


5. 视频未填满播放器(黑边问题)

如果视频播放时未填满整个播放器,出现黑边现象,可以通过CSS属性调整。

解决方法: - 给video标签添加以下CSS样式:

object-fit: cover;
  • 注意:此设置可能导致画面被裁剪,请根据实际需求调整。

6. 播放RTS流时提示协议不支持

如果播放RTS流时提示协议不支持,可能是SDK集成或版本配套问题。

解决方法: 1. 检查是否已集成以下三个SDK: - AliPlayerSDK_iOS - AliPlayerSDK_iOS_ARTC - RtsSDK 2. 确认Native RTS SDKAliPlayerSDK_iOS的版本是否配套。 3. 确保AliPlayerSDK_iOSAliPlayerSDK_iOS_ARTC的版本一致。 4. 参考文档中的“阿里云播放器SDK集成Native RTS SDK实现说明”进行正确集成。


7. MP4视频起播慢或MOV视频播放失败

如果MP4视频起播速度慢,或MOV视频播放失败,可能是源视频的moov(音视频数据索引)位于mdat(音视频数据)之后。

解决方法: - 使用FFmpeg工具检测moov位置:

ffmpeg -v trace -i "源视频地址" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
  • 如果moovmdat之后,建议对视频进行转码,将moov移动到mdat之前。
  • 推荐使用阿里云视频点播服务或FFmpeg工具进行转码,输出格式建议为H.264编码的MP4或HLS视频流。

8. Android播放器不支持assets/raw文件夹下的视频

如果尝试播放Android工程中assetsraw文件夹下的视频时失败,需将视频文件拷贝到手机存储中。

解决方法: - 将视频文件拷贝到手机存储路径下,并使用绝对路径进行播放。


9. HDR视频播放异常

如果播放带旋转角度的HDR视频时出现异常,目前Android播放器SDK暂不支持此类视频。

解决方法: - 建议对HDR视频进行转码,移除旋转角度后再播放。


10. iOS模拟器调试问题

如果在iOS模拟器上调试播放器SDK时出现问题,建议使用真机调试。

解决方法: - 确保使用的iOS播放器SDK版本为5.4.7.1及以上。 - 如果使用M1芯片的Mac模拟器,目前不支持调试运行。 - 对于Flutter播放器SDK,若出现编译报错,可以注释掉AliPlayerFactory.m文件中的setFilterConfig:updateFilterConfig:setFilterInvalid:接口方法及相关调用代码。


11. 自定义重试逻辑

如果播放过程中因网络问题导致失败,可以通过自定义重试逻辑进行处理。

解决方法: - 设置重试次数为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:实现自定义重试逻辑
    }
}
  • 参考文档中的“自定义重试逻辑”章节进行详细配置。

12. 使用播放检测工具快速诊断问题

如果上述方法无法解决问题,可以使用阿里云提供的播放检测工具进行快速诊断。

操作步骤: 1. 登录阿里云视频点播控制台。 2. 在左侧导航栏中选择“检测工具” > “视频播放问题排查”。 3. 输入视频播放链接,选择域名类型,点击“开始检测”。 4. 根据检测结果,参考解决建议进行处理。


以上是针对视频点播播放报错的详细解决方案,请根据具体的报错现象选择对应的方法进行处理。如果问题仍未解决,请联系阿里云技术支持团队获取进一步帮助。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答