1.开通视频点播
- 开通服务
- 点击立即开通
- 找到存储管理
- 启用存储地址
- 视频加密要设置转码并将其设置为默认
- 修改模板-点击编辑
- 上传视频测试
此时已经有了默认存储地址和默认转码 - 配置域名加速【域名已备案】
输入域名点击提交即可 - 配置DNS
点击眼睛并复制CNAME,前往DNS,添加记录
稍等一会域名管理就会显示已配置 - 此时上传视频成功后视频是无法预览的,需要配置HTTPS
前往SSL证书服务
选择免费证书即可
选择20,点击立即购买即可,我这边是已经买过了
点击创建证书
填写刚刚的加速域名、联系人后点击下一步(这一步就不放图了)等待1-15分钟就会审核通过 - 再次前往视频点播
点击配置
选择云盾就会有刚刚审核通过的证书,选择后点击确定即可,稍等一会即可
之后再次预览视频发现可以预览了
Java配置
- 创建RAM用户
填完信息选择api调用即可 - 分配权限
- 创建RAM角色
创建好后给它添加权限 AliyunVODFullAccess (和RAM用户一样的操作)
代码
- Maven依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.6</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>2.15.8</version>
</dependency>
<!--还差个OSS的依赖,找不到了~~~-->
- 后台获取sts token
// 只有RAM用户(子账号)才能调用 AssumeRole 接口
// 阿里云主账号的AccessKeys不能用于发起AssumeRole请求
// 请首先在RAM控制台创建一个RAM用户,并为这个用户创建AccessKeys
String accessKeyId = "accessKeyId ";
String accessKeySecret = "accessKeySecret ";
// AssumeRole API 请求参数: RoleArn, RoleSessionName, Policy, and DurationSeconds
// RoleArn 需要在 RAM 控制台上获取
String roleArn = "roleArn ";
// RoleSessionName 是临时Token的会话名称,自己指定用于标识你的用户,主要用于审计,或者用于区分Token颁发给谁
// 但是注意RoleSessionName的长度和规则,不要有空格,只能有'-' '_' 字母和数字等字符
// 具体规则请参考API文档中的格式要求
// 自定义即可
String roleSessionName = "session-name";
// 定制你的policy
String policy = "{\n" +
" \"Version\": \"1\",\n" +
" \"Statement\": [\n" +
" {\n" +
" \"Action\": \"vod:*\",\n" +
" \"Resource\": \"*\",\n" +
" \"Effect\": \"Allow\"\n" +
" }\n" +
" ]\n" +
"}";
try {
AssumeRoleResponse response = assumeRole(accessKeyId, accessKeySecret, roleArn, roleSessionName, policy);
// 过期时间
response.getCredentials().getExpiration());
// access key id
response.getCredentials().getAccessKeyId();
// access key secret
response.getCredentials().getAccessKeySecret();
// sts token
response.getCredentials().getSecurityToken();
} catch (ClientException | ParseException e) {
e.printStackTrace();
}
static AssumeRoleResponse assumeRole(String accessKeyId, String accessKeySecret, String roleArn, String roleSessionName, String policy) throws ClientException {
//构造default profile(参数留空,无需添加Region ID)
/*
说明:当设置SysEndpoint为sts.aliyuncs.com时,regionId可填可不填;反之,regionId必填,根据使用的服务区域填写,例如:cn-shanghai
详情参考STS各地域的Endpoint,请参见接入地址。
*/
IClientProfile profile = DefaultProfile.getProfile("cn-shenzhen", accessKeyId, accessKeySecret);
//用profile构造client
DefaultAcsClient client =