赞
踩
阿里云视频点播(ApsaraVideo VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、高效云剪辑处理、分发加速、视频播放于一体的一站式音视频点播解决方案。
阿里云视频点播基于阿里云强大的基础设施服务,面向视频网站、短视频、在线教育、娱乐社交、新闻传媒等行业,提供端-云-端的视频全链路服务,帮助企业和开发者快速搭建安全、弹性、高效、可定制的视频点播平台和应用。
(1)支持的上传方式 ——上传
控制台上传,SDK上传,服务端(JAVA)上传,客户端上传:Web端(JavaScript)、移动端(Android,iOS),离线拉取上传,PC客户端工具上传,并支持直播录制转点播。
(2)媒体管理和生产 ——处理
视频点播支持对上传后的视频进行管理和剪辑。
(3)分发播放 ——播放
视频点播支持播放音频和视频文件,您可以通过控制台预览、集成阿里云播放器SDK和集成第三方播放器进行播放。
使用视频点播实现音视频上传、存储、处理和播放的整体流程如下:
用户获取上传授权 —— VOD下发上传地址和凭证及VideoId —— 用户上传视频并保存视频ID(VideoId)—— 用户服务端获取播放授权 —— 用户客户端请求播放地址与凭证,VOD下发播放地址与带时效的播放凭证。—— 用户服务端将播放凭证下发给客户端完成视频播放
(1)登录视频点播控制台
(2)单击开通服务
(3)选择视频点播服务,仔细阅读并选中视频点播服务协议,点击立即开通
(4)开通完成后,即可进入VOD控制台概览页面,开始使用点播服务。
初始化
- @Value("${aliyun.access-key-id}")
- private String accessKeyId;
-
- @Value("${aliyun.access-key-secret}")
- private String accessKeySecret;
-
- @PostConstruct
- private void initialize(){
- String regionId = "cn-shanghai";
- DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
- defaultAcsClient = new DefaultAcsClient(profile);
- }
获取视频上传地址和凭证
- /**
- * 视频点播的客户端对象
- */
- private DefaultAcsClient defaultAcsClient;
-
- /**
- * 获取视频上传地址和凭证
- *
- * @param uploadVideo 发送请求客户端
- * @return VideoAccessInfo 获取视频上传地址和凭证响应数据
- * @throws Exception
- */
- public VideoAccessInfo createUploadVideo(UploadVideo uploadVideo) throws Exception {
- CreateUploadVideoRequest createUploadVideoRequest = transformRequest(uploadVideo);
- CreateUploadVideoResponse response = defaultAcsClient.getAcsResponse(createUploadVideoRequest);
- return transformResponse(response);
- }
-
- /**
- * 转换创建响应结果
- *
- * @param response 创建响应结果
- * @return 返回上传地址和凭证信息
- */
- public VideoAccessInfo transformResponse(CreateUploadVideoResponse response) {
- VideoAccessInfo videoAccessInfo = new VideoAccessInfo();
- videoAccessInfo.setRequestId(response.getRequestId());
- videoAccessInfo.setUploadAddress(response.getUploadAddress());
- videoAccessInfo.setUploadAuth(response.getUploadAuth());
- videoAccessInfo.setVideoId(response.getVideoId());
- return videoAccessInfo;
- }

刷新视频上传凭证
- /**
- * 刷新视频上传凭证
- *
- * @param refreshUpload 刷新参数
- * @return VideoAccessInfo 刷新视频上传凭证响应数据
- * @throws Exception
- */
- public VideoAccessInfo refreshUploadVideo(RefreshUpload refreshUpload) throws Exception {
- RefreshUploadVideoRequest request = new RefreshUploadVideoRequest();
- request.setVideoId(refreshUpload.getVideoId());
- RefreshUploadVideoResponse response = defaultAcsClient.getAcsResponse(request);
- return transformResponse(response);
- }
-
- /**
- * 转换刷新响应结果
- *
- * @param response 转换刷新响应结果
- * @return 返回上传地址和凭证信息
- */
- public VideoAccessInfo transformResponse(RefreshUploadVideoResponse response) {
- VideoAccessInfo videoAccessInfo = new VideoAccessInfo();
- videoAccessInfo.setRequestId(response.getRequestId());
- videoAccessInfo.setUploadAddress(response.getUploadAddress());
- videoAccessInfo.setUploadAuth(response.getUploadAuth());
- videoAccessInfo.setVideoId(response.getVideoId());
- return videoAccessInfo;
- }

获取视频播放凭证
- /**
- * 获取视频播放凭证信息
- *
- * @param videoPlayAuthRequest
- * @return
- */
- public VideoPlayAuthVo getVideoPlayAuth(VideoPlayAuthRequest videoPlayAuthRequest) throws ClientException {
- GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
- request.setVideoId(videoPlayAuthRequest.getVideoId());
- request.setAuthInfoTimeout(videoPlayAuthRequest.getAuthInfoTimeout());
- return transformResponse(defaultAcsClient.getAcsResponse(request));
- }
-
- /**
- * 转换获取播放凭证响应结果
- *
- * @param response
- * @return
- */
- private VideoPlayAuthVo transformResponse(GetVideoPlayAuthResponse response) {
- VideoPlayAuthVo videoPlayAuthVo = new VideoPlayAuthVo();
- videoPlayAuthVo.setRequestId(response.getRequestId());
- videoPlayAuthVo.setPlayAuth(response.getPlayAuth());
- videoPlayAuthVo.setCoverURL(response.getVideoMeta().getCoverURL());
- videoPlayAuthVo.setDuration(response.getVideoMeta().getDuration());
- videoPlayAuthVo.setStatus(response.getVideoMeta().getStatus());
- videoPlayAuthVo.setTitle(response.getVideoMeta().getTitle());
- videoPlayAuthVo.setVideoId(response.getVideoMeta().getVideoId());
- return videoPlayAuthVo;
- }

注意:客户端上传只能上传单个文件,服务端上传可以批量上传。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。