VOD - 视频点播
    questions:

    • 它在项目是处理什么问题的?
    • 大概写法是什么?
    • 对于团队有什么好处?
      • 安全
    • 有没有其他的替代方案
    • 替代了什么老的技术,解决了老技术的什么问题?(备选)

    视频点播

    • 上传视频
    • 删除视频
    • 获得 VideoAuth

    视频点播 - 上传视频

    • 阿里云的上传 SDK 提供各种上传服务,其中视频的上传为“上传本地音视频到视频点播:默认使用分片上传,最大支持48.8 TB的单个文件并且支持断点续传。”
    • 上传所需要的参数:accessKeyId, accessKey, 视频文件名, 视频名 (不带文件扩展名),文件 inputstream
    • 上传所用到的工具
      • UploadStreamRequest, 构造方法参数:accessKeyId, accessKey, 视频文件名, 视频名 (不带文件扩展名),文件 inputstream
      • uploadVideoImpl (uploader) -> uploadVideoImpl .uploadStream() 方法,UploadStreamRequest 作为参数传递 -> 返回参数:UploadStreamResponse
    • UploadStreamResponse 的两个方法
      • isSuccess(),获得代表上传成功与否的 boolean 值
      • getVideoId(),获得 UploadStreamResponse 中的属性 videoId 值
    • 回调URL

    视频点播 - 根据 videoId 删除视频

    • initObject.initVodClient(),参数:accessKeyId 和 accessKeySecret -> DefaultAcsClient
    • DeleteVideoRequest -> DeleteVideoRequest.setVideoIds(),设置要删除视频的 videoId
    • DefaultAcsClient.getAcsResponse(),DeleteVideoRequest 作为参数传递

    视频点播 - 根据 videoId 获得视频播放凭证

    • initObject.initVodClient(),参数:accessKeyId 和 accessKeySecret -> DefaultAcsClient
    • GetVideoPlayAuthRequest -> GetVideoPlayAuthRequest.setVideoId(),设置目标视频的 videoId
    • DefaultAcsClient.getAcsResponse(),GetVideoPlayAuthRequest 作为参数传递,返回值:GetVideoPlayAuthResponse
    • GetVideoPlayAuthResponse.getPlayAuth() 方法,获得目标视频的播放凭证

    note:
    可能 main idea 都是一样的,通过 initObject 的 initVodClient() 方法,获得 DefaultAcsClient,作为查询或者操作视频对象的权限;然后再根据操作的不同,创建对应 request 的实例,例如删除视频的 DeleteVideoRequest 和获取视频播放的 GetVideoPlayAuthRequest,之后通过 request 的setVideoId(s) 方法,设置要操作的目标视频的 videoId;接着就是 DefaultAcsClient 的 getAcsClient() 方法,根据实际操作的不同来决定要不要获得返回值