1. 概述
视频上传到视频点播(VOD),并且转码成功后即可进行播放,可以在视频点播控制台的视频管理页面对视频进行预览播放,也可集成VOD播放器SDK,或者将获取到的视频播放地址传递给自己的播放器(系统原生或开源或自研)来播放视频。本文由阿里云视频云高级开发工程师筱巶撰写,主要介绍视频点播播放的前置条件以及用户在使用过程中经常遇到的问题,便于用户快速的定位并解决播放相关的问题。正式使用点播播放服务前需确认以下流程的配置及处理正确无误:
- 服务开通
- 视频处理
- 安全配置
- 网络环境
2. 服务开通
2.1 点播服务开通
- 在 阿里云视频点播产品页 点击【立即开通】。
- 若无阿里云账号请先 注册;若未完成实名认证,请参考 实名认证 进行操作。
- 点播帐号未欠费。关于欠费请参考 欠费说明。
2.2 域名配置
在 视频点播控制台 添加备案过的域名,过程参考 初始化设置。
- 域名获取:域名注册、转入或购买请移步 万网,可在 万网域名管理页面选择需要使用的域名。
- 域名配置:获得域名后需要进行CNAME绑定才能完成接入,请参考 万网域名接入,同时也支持 新网和 DNSPod的域名接入。
- 域名检测:在Linux命令行、Mac的Terminal或Windows的CMD命令行输入:nslookup -type=cname[用户点播域名]
Linux(如CentOS)下若提示“command not found”则需要先安装:yum install bind-utils -y
如果显示的canonical name值与点播控制台显示的CNAME值一致则表示配置成功。
结果参考:https://help.aliyun.com/knowledge_detail/40173.html
https://help.aliyun.com/knowledge_detail/40144.html
CDN的IP检测页面:https://cdn.console.aliyun.com/home#/Tool/ip
3. 视频处理
视频文件上传至点播帐号下,经过视频处理流程后才可用于播放。根据业务需要,用户可以选择普通转码和上传后直接分发加速两种处理方式。用户上传的源文件必须是多媒体文件,需要满足特定文件格式和编码的要求才可以转码成功,最终用于播放。
3.1 文件有效
源文件和输出文件格式和编码限制参考文档 https://help.aliyun.com/knowledge_detail/42250.html
如果用户的视频选择的是上传后直接分发加速的处理方式,点播需要对该视频进行截图处理和CDN分发加速,那么为了保障源文件分发后是默认可播放的,则视频源文件仅限于上传mp4、flv格式的文件。
当用户上传的源文件不符合视频处理要求时,会导致文件转码失败,目前转码失败的原因大部分是由于上传的源文件视频流缺失或Meta存在问题导致的,因此用户在上传文件前需要确认源文件能否在本地正常播放。
3.2 转码配置
在 转码设置中选择转码模板组,点播服务开通时默认会添加不转码即分发和系统模板组,配置参考 转码配置。进入转码流程处理时会根据转码配置转出相应格式和清晰度的文件用于播放。当视频选择不转码即分发模板组时,源文件上传完成后即可用于播放。
3.3 视频状态
视频处理成功后且只有视频状态为Normal的视频才能用于播放。为了快速获取可播放的视频,用户可以通过状态轮询和事件通知两种方式确定当前视频是否可以播放。状态轮询的方式时间上不可预期,建议用户根据视频处理的方式设置不同的事件通知:
- 普通转码,只要有一个清晰度转码完成后即可播放,可以配置:
单个清晰度转码完成事件
- 不转码即分发,视频上传完成后即可播放,可以配置:
视频上传完成事件
在点播控制台的 回调设置中配置相应的事件通知,配置参考 事件通知。
4. 安全配置正确
阿里云视频点播提供了完善的内容安全保护机制,可以满足不同业务场景的安全需求,但如果安全配置不当,也会导致用户视频无法播放的问题。
4.1 审核配置
在 审核设置 中可以配置审核流程,只有审核通过的视频才可用于播放,配置参考 审核设置。
- 在"审核设置"开启了"先审后发"才会出现状态为Checking的视频
- 在"视频点播控制台-视频审核-审核详情"中点击"屏蔽"或者调用审核接口对视频进行屏蔽操作后才会出现状态为Blocked的视频
状态为Checking和Blocked状态的视频只能在点播控制台内或者来自审核IP白名单内的请求才可播放。
4.2 访问限制
在 防盗链中配置访问的 Referer黑、白名单(二者互斥)来限制视频资源被访问的情况。符合规则可顺利请求到视频数据,若不符合,请求会被拒绝,并返回403响应码。配置参考 防盗链设置。
4.3 URL鉴权
播放地址若固定不变会带来持久的非法扩散传播,且无法有效遏制。视频点播提供的URL鉴权可通过生成动态的加密URL(包含权限验证、过期时效等信息)来区分合法请求,以达到保护视频资源的目的。在 URL鉴权 可配置URL鉴权信息,配置参考 URL鉴权配置
开启URL鉴权后,点播的播放器SDK、获取播放地址的API/SDK都会自动生成带时效的播放URL。
开启URL鉴权后,所有媒体资源,包括视频、音频、封面、截图等地址都会进行鉴权。
当开启URL鉴权后,只有在有效期内的URL才可以播放,URL鉴权过期后请求会被拒绝,并返回403响应码。
4.4 视频加密
阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。如果用户在配置转码模板时选择了HLS加密,相应的转码输出文件只能通过集成阿里云播放器SDK播放。目前播放器内核SDK,涵盖iOS/Android/Flash多平台,自动对加密内容进行解密播放;H5播放器不支持加密视频的播放。
更多信息参考 阿里云-视频加密
5. 网络环境
播放服务强依赖于网络环境,如果没有稳定畅通的网络环境,会严重影响播放服务质量甚至无法播放视频。当网络出现异常时,可以参考以下两种网络排查方法:
5.1 域名劫持检查
访问 https://www.ipip.net/ip.html 默认显示的是本地IP
用户本地PING一下要访问的域名,看是否能解析出对应的IP
查看解析出的IP是否是阿里云CDN的节点,在 https://www.ipip.net/ip.html 中输入IP会显示相应地区
如果不是阿里云CDN节点的IP,那么说明被劫持的,建议向客户端访问所在网络运营商进行投诉。
5.2 源站检查
如果通过域名解析出的IP是阿里云CDN的节点IP,且能PING通域名,那么本地域名绑定host测试,看下是CDN问题还是源站问题。具体操作步骤请参考 CDN访问异常。
6. 常见问题
- 上传和播放服务均无法使用时,请确认点播帐号是否欠费
- 控制台内可播放,调用API/SDK获取播放地址时返回错误码InvalidDomain.NotFound,请确认域名配置
- 调用API/SDK获取播放地址时返回错误Forbidden.IllegalStatus,请确认视频状态
- 调用API/SDK获取播放地址时返回错误码InvalidVideo.NotFound,请确认视频是否被删除
- 当请求CDN加速地址返回403时,请确认安全配置
- 当某个地区用户无法播放视频时,请检查用户网络环境
- 使用点播Web端播放器诊断页面的输出信息定位播放问题。目前支持原生H5、阿里云H5/Flash播放。诊断页面地址: http://player.alicdn.com/detection.html?source=http://common.qupai.me/player/qupai.mp4
活动推荐
12月20日杭州站【云栖TechDay-音视频技术实战沙龙】,多位视频云专家现场解读短视频、直播、视频AI、视频加速技术实践,赢取阿里云公仔及代金券,点击了解活动详情及免费报名:https://yq.aliyun.com/event/678