使用阿里云视频点播服务技术的理解和加速、加密流程

一、背景

毕设搞了个影视平台,基于vue.js和springboot前后端分离开发,我本人之前是没有接触过vue(还引入了桌面端组件库Element),所以前端的部分还是花费了比较多的心思和精力,而且项目中用到了shiro作为后台权限管理的框架,数据库连接则一时兴起使用了写起联表来痛不欲生的jpa。。图片全部存储在七牛云上,没用过的可以去了解下,白嫖当的福音嘻嘻。

以上,全是没接触的技术,自己煞费苦心,费时费力,但还是架不住这个项目没有亮点的事实,以至于预答辩的时候老师看到我的论文题目,直接就来了句:你这个项目可以直接运行吗?用到的技术很常见了。

我当时瞬间慌了,,什么??我PPT就不用讲了?!

好在我心态够稳,迅速调整并熟练的运行起了项目,到了最后正式答辩的时候,除了PPT讲解的时间超了点(被老师提醒了),语速正常,表达也很顺畅(只答不辩,疯狂道歉),项目演示也没出错,估计能过。

二、需求

看完这里的人应该了解了,我想加个视频实时点播的功能作为项目亮点,否则我的项目就只是基本的数据显示和增删改查,只体现了工作量,没有特别突出的地方,况且大佬们都是研究人工智能和机器学习的,做项目的本身就是吃亏的,穷则思变,差则思勤。

分析了下,影视平台的视频点播最难克服的两点在于:

  1. 视频加速
  2. 视频加密

其他什么存储、上传等等都不是重点。

像很多小众电影平台用的cms模板建站系统,从网络上抓取了一些资源,本身网站的加载速度巨慢,视频的画质又模糊,谁能忍?!

在这种平台多停留一秒都是浪费时间。。

三、摸索

我在网上搜了遍,关于视频服务要不就大概讲了下关键步骤(我也看不懂,就很懵),要不就是直接让买云服务,毕竟现在各大云服务平台确实服务很到位也足够用了。

期间有看到一些研究blog视频地址加密的文章,通过前端js和后台配合实现,基本的原理大概是使用二进制传输视频数据,起到加密的效果,但亲身实践之后会发现,如果是长视频,进入点播页面之后视频会一直在加载,体验极差,也就是说按照这种实现方法,只能针对几分钟的短视频,才能很快缓存完。

看了比较多文章后,确定自己无法实现,就决定使用云服务了,简单对比了下阿里云,腾讯云和七牛云的视频点播服务,然后选择了阿里云。

我已经忘了当初为什么青睐于阿里云了,反正就埋头淦文档,作为一个从没涉及过云点播技术的小白,这个过程还是挺吃力的,况且中间还被指导老师拉着参加了个华为云的鲲鹏比赛嘿嘿。

四、流程

经过了一段时间的学习(脱发),终于总结出了阿里云视频vod服务的实现流程:

  1. 注册阿里云账号,开通视频点播vod服务。
  2. 购买域名,备案,cdn绑定加速。
  3. 设置转码模板,对视频hls格式加密,除此之外还可以通过设置防盗链和黑白名单等操作进行加密,但效果几乎可以忽略。
  4. 控制台上传视频文件,数据库存储视频vid,这一步可以对视频进行分类,设置封面、水印的操作。
  5. 后台调用API根据视频vid生成临时播放凭证playauth。
  6. 前端使用阿里云的web播放器(支持自定义的播放器,需要进行一系列操作,略麻烦)绑定vid和playauth实现视频的点播。
    使用阿里云视频点播服务技术的理解和加速、加密流程_第1张图片

开通视频点播服务可选按流量收费和按宽带收费两种,根据自身情况选择合适实惠的就可以了。

域名也有很便宜的,我选择的是后缀名为xyz的域名,比较麻烦的是域名的备案,我一开始嫌麻烦打算跳过这一步骤,于是我买了台国外的服务器,不需要备案,直接cdn绑定域名加速,一开始好好的,视频播放速度很正常,但因为疫情的原因,毕设答辩迟迟没有通知,导致一个多月后,我重新跑项目就发现视频加载巨慢,已经极大影响了我演示系统。

解铃还需系铃人,我重新回过头去看cdn绑定的域名,就发现了:

使用国外的服务器确实不用备案,但是cdn绑定对应的域名的话加速服务也仅限于国外。。

最后还是紧急租了台阿里云的服务器,并进行备案,最终在正式答辩的前两天备案申请通过!

五、结论

1. 加密 :当前各大平台如慕课、B站等实现视频加密都是使用的blog地址加密,也就是右键在控制台看到的不是视频原本的链接,无法盗取下载到本地。
在这里插入图片描述
2. 加速 :绑定域名之后开启cdn加速,进度条可以随意拖动,播放顺畅。

————分———割———线———————分———割———线——

以上,是我这次使用阿里云视频点播的理解。

这里还是要吐槽一下阿里云控制台的视频上传,云网站因为安全原因如果一段时间不操作,登陆状态会很快失效。

我上传的电影是比较大的文件,时长也普遍有1-2小时,导致上传的过程极慢,控制台的上传页面明确写了:

可以离开本网页,但不要刷新本页面

那么问题来了,我不能一直守着长视频在上传吧,一段时间后我重新回到控制台就会发现登陆状态失效了,但视频还没上传完,我重新登陆这算不算刷新呢?

我试过这样好像不能断点续传,上传的进度一直在加载。。是我机器的原因?不吝赐教!!

最后,如果有人看的话,我打算把毕设的项目从零开始写个教程,顺便重构下,毕竟之前没有技术基础,写出来的东西难免晦涩,很多地方没有考虑周全,再加上目前项目本身也还有很多可以改进的地方,分享出来既是对自己的一个总结,在一定程度上也许还能帮到人,两全其美。

——再次——分———割———线————再次——分———割———线——

首页

使用阿里云视频点播服务技术的理解和加速、加密流程_第2张图片

点播

使用阿里云视频点播服务技术的理解和加速、加密流程_第3张图片使用阿里云视频点播服务技术的理解和加速、加密流程_第4张图片

后台

使用阿里云视频点播服务技术的理解和加速、加密流程_第5张图片

你可能感兴趣的:(Java,云服务,毕设/论文)